Dado día del año, ¿cómo puedo obtener la semana del año usando Bash?obtener la semana del año a partir del día del año
Respuesta
Usando el comando date
, puede mostrar la semana del año utilizando el "% V" parámetro de formato:
/bin/date +%V
le puede decir date
para analizar y dar formato a una fecha personalizada en lugar de la actual utilizando la "-d" parámetro:
/bin/date -d "20100215"
a continuación, la mezcla de las dos opciones, se puede aplicar un formato personalizado a una fecha personalizada:
/bin/date -d "20100215" +%V
Lástima que su solución solo funcione con la versión de fecha GNU. La versión de fecha de Solaris no es compatible con el modificador -d y la opción de formato% V. – basvdlei
También '% U' (Sunday start, 00-53) o'% W' (Monday start, 00-53) (además de '% V' (ISO, Monday start, 01-53)) según la semana -número de sistema que utiliza. –
Versión de fecha de Solaris, que no puede admitir -d se puede resolver reemplazando la versión de fecha de sunfreeware.com. – conandor
Si estás usando GNU date
puede utilizar fechas relativas de esta manera:
$ doy=193
$ date -d "Jan 1 +$((doy -1)) days" +%U
28
Esto le daría una respuesta muy simplista, pero no se basa en date
:
$ echo $((doy/7))
cuales no le presta atención al día de la semana.
Aquí es una demostración de los sistemas de numeración semana:
$ printf "\nDate\t\tDOW\tDOY\t%%U %%V %%W\n"; \
for d in "Jan "{1..4}" 2010" \
"Dec "{25..31}" 2010" \
"Jan "{1..4}" 2011"; \
do printf "%s\t" "$d"; \
date -d "$d" +"%a%t%j%t%U %V %W"; \
done
Date DOW DOY %U %V %W
Jan 1 2010 Fri 001 00 53 00
Jan 2 2010 Sat 002 00 53 00
Jan 3 2010 Sun 003 01 53 00
Jan 4 2010 Mon 004 01 01 01
Dec 25 2010 Sat 359 51 51 51
Dec 26 2010 Sun 360 52 51 51
Dec 27 2010 Mon 361 52 52 52
Dec 28 2010 Tue 362 52 52 52
Dec 29 2010 Wed 363 52 52 52
Dec 30 2010 Thu 364 52 52 52
Dec 31 2010 Fri 365 52 52 52
Jan 1 2011 Sat 001 00 52 00
Jan 2 2011 Sun 002 01 52 00
Jan 3 2011 Mon 003 01 01 01
Jan 4 2011 Tue 004 01 01 01
- 1. Generar NSDate a partir del día, mes y año
- 2. DateTime Format Día del año
- 3. Python Pregunta: año y día del año hasta la fecha?
- 4. cómo obtener el día del año en concha?
- 5. Día juliano del año en Java
- 6. Hoy es el día del año enésimo
- 7. primer día del año en curso
- 8. Obtener viernes a partir del número de semana y año en javascript
- 9. ¿Cómo obtener el día del año en ruby?
- 10. Obtener el próximo año del NSDate actual?
- 11. Obteniendo el año y la semana del año desde la fecha de PHP() cuando la semana abarca dos años
- 12. Buscar el nombre del día por año, mes y día
- 13. php - encuentra la fecha para el mismo día de la semana del año pasado
- 14. extracto de mysql año a partir del formato de fecha
- 15. Semana del año C# de fecha y hora
- 16. VB.NET Obtener solo el año a partir de la fecha
- 17. Extracto del día/mes/año a partir de una marca de tiempo en MYSQL
- 18. Conversión de semana del año para las fechas
- 19. Marca de tiempo Python del día, mes, año
- 20. ¿Cómo encontrar el día actual del año en PHP?
- 21. ¿Cómo obtener el nombre del día de la semana a partir de una fecha?
- 22. Grupo de semana del año (Número de la semana) en LINQ to SQL
- 23. ¿Cómo obtener el día de la semana del número del día en Javascript?
- 24. obtener enésimo día de la semana del mes en C#
- 25. Cómo obtener el valor entero del día de la semana
- 26. ¿Cómo obtener todas las fechas de fin de semana del año actual en SQL?
- 27. Obtener el número de semana (en el año) a partir de una fecha PHP
- 28. Obtener la fecha del día específico de la semana en JavaScript
- 29. cómo conseguir el primer día y el último día de la semana y el año número
- 30. Obtener el objeto de fecha para el primer/último día del año actual
Aunque es posible que obtenga una respuesta para esto de aquí creo que esta pregunta puede ser más apropiado para nuestro sitio de la hermana stackoverflow.com. – Chopper3
No solo es una pregunta de programación sino que se parece sospechosamente a mi tarea. Por cierto, usar Bash para esto es un buen ejemplo de usar la herramienta incorrecta para un trabajo. –
+1 no utilice Bash para cálculos de fecha: las modernas máquinas Linux/UNIX se enviarán con un Python o Perl actualizados de manera predeterminada. Use la mejor herramienta para el trabajo. –