Question Date du format AAAA-MM-JJ dans le script shell


J'ai essayé d'utiliser $(date) dans mon script bash shell, cependant je veux la date au format AAAA-MM-JJ. Comment est-ce que je reçois ceci?


757
2017-09-09 19:06


origine


Réponses:


Dans Bash:

obtenir année mois jour de date

DATE=`date +%Y-%m-%d`

obtenir année-mois-jour heure: minute: seconde de date

DATE=`date '+%Y-%m-%d %H:%M:%S'`

D'autres formats de date disponibles peuvent être visualisés pages de manuel de date:

man date

1303
2017-09-09 19:08



Essayer: $(date +%F)


256
2017-09-09 19:11



Vous pouvez faire quelque chose comme ceci:

$ date +'%Y-%m-%d'

57
2017-09-09 19:08



Vous cherchez ISO 8601 format de date standard, donc si vous avez une date GNU (ou une commande de date plus moderne que 1988) faites simplement: $(date -I)


29
2018-06-19 15:49



date -d '1 hour ago' '+%Y-%m-%d'

La sortie serait 2015-06-14.


15
2017-09-07 08:05



Avec Bash récent (version ≥ 4.2), vous pouvez utiliser le builtin printf avec le modificateur de format %(strftime_format)T:

$ printf '%(%Y-%m-%d)T\n' -1  # Get YYYY-MM-DD (-1 stands for "current time")
2017-11-10
$ printf '%(%F)T\n' -1  # Synonym of the above
2017-11-10
$ printf -v date '%(%F)T' -1  # Capture as var $date

5
2017-11-10 05:15



Si vous voulez que l'année soit dans un format à deux chiffres, par exemple 17 plutôt que 2017, procédez comme suit:

DATE=`date +%d-%m-%y`

4
2018-06-02 18:55



Chaque fois que j'ai une tâche comme celle-ci, je finis par retomber

$ man strftime

pour me rappeler de toutes les possibilités.


4
2018-05-08 21:25