Étant donné jour de l'année, comment puis-je obtenir la semaine de l'année en utilisant Bash?obtenir la semaine de l'année à partir du jour de l'année
Répondre
En utilisant la commande date
, vous pouvez afficher la semaine de l'année en utilisant le paramètre de format « % V »:
/bin/date +%V
Vous pouvez dire date
pour analyser et mettre en forme une date personnalisée au lieu de celui en cours en utilisant la paramètre "-d":
/bin/date -d "20100215"
Ensuite, le mélange des deux options, vous pouvez appliquer un format personnalisé à une date personnalisée:
/bin/date -d "20100215" +%V
Dommage que votre solution ne fonctionne qu'avec la version GNU de la date. La version de Solaris ne prend pas en charge le commutateur -d et l'option de format% V. – basvdlei
Également '% U' (début du dimanche, 00-53) ou'% W' (début du lundi, 00-53) (en plus de '% V' (ISO, lundi, début, 01-53)) selon la semaine -nombre de système que vous utilisez. –
La version Solaris de date, qui ne peut pas prendre en charge -d peut être résolue en remplaçant la version de sunfreeware.com de la date. – conandor
Si vous utilisez GNU date
vous pouvez utiliser des dates relatives à ceci:
$ doy=193
$ date -d "Jan 1 +$((doy -1)) days" +%U
28
Cela vous donne une réponse très simpliste, mais ne se fondent pas sur date
:
$ echo $((doy/7))
qui ne fait pas attention au jour de la semaine.
est ici une démonstration des systèmes de numérotation de semaine:
$ 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. JavaScript - obtenir le premier jour de la semaine à partir de la date du jour
- 2. Java: obtenir la valeur actuelle du jour de la semaine
- 3. comment obtenir ce jour de la semaine et le jour de la semaine dans l'oracle
- 4. Numéro de semaine et Jour de la semaine
- 5. obtenir jour de la semaine de aaaa-mm-jj
- 6. Comment puis-je obtenir le jour de la semaine, le premier jour du mois?
- 7. Java: Obtenir un jour dans une semaine à partir du calendrier
- 8. Obtenir la première date de la semaine à partir de la date fournie
- 9. MySQL: semaine plage de dates à partir du numéro de la semaine dans une requête
- 10. Obtenir le premier jour de la semaine dans MySQL en utilisant la semaine No
- 11. NSDate obtenir un jour spécifique de la semaine?
- 12. Date donnée, Obtenir le jour de la semaine - SYSTEMTIME
- 13. C# .Net Obtenir le dernier jour du mois précédent à partir de la date du jour
- 14. Premier jour De cette semaine et la semaine dernière
- 15. PHP Déterminer jour mensuel de la semaine
- 16. affichage ASP jour de la semaine
- 17. Zend Date Jour de la semaine
- 18. Conversion de la date en jour de la semaine
- 19. MySQL Moyenne x unique pour le jour de la semaine
- 20. Avoir le numéro de la semaine comment calculer le dernier jour de la semaine?
- 21. Date de calcul pour un jour de la semaine
- 22. comment obtenir la date de la semaine prochaine en javascript
- 23. mysql count total de la semaine dernière à partir d'horodatage
- 24. La façon d'obtenir le jour de la semaine, l'heure du Pacifique
- 25. Un algorithme pour obtenir le prochain jour de la semaine dans un masque
- 26. Objectif C - Comment puis-je obtenir le jour de la semaine de NSDate?
- 27. Date de la chaîne à Date en C# - le jour de la semaine était incorrect
- 28. Récupère la semaine de date à partir de la requête linq
- 29. Pour vérifier le jour de la semaine d'un mois
- 30. Obtenir le numéro de jour de la semaine dans une procédure stockée
Bien que vous pourriez obtenir une réponse à cela ici, je pense que cette question peut être plus approprié pour notre site sœur stackoverflow.com. – Chopper3
Non seulement est-ce une question de programmation, mais ressemble étrangement à mes devoirs. Incidemment, l'utilisation de Bash pour cela est un bon exemple d'utilisation du mauvais outil pour un travail. –
+1 n'utilise pas Bash pour les calculs de date - les machines Linux/UNIX modernes seront livrées avec un Python ou Perl mis à jour par défaut. Utilisez le meilleur outil pour le travail. –