Wie1 Stunde hinzufügen in aktuellen Zeitstempel in KSH
1 Stunde im Unix-Zeitstempel hinzufügendate +%Y%m%d_%H%M
Ich brauche 1 Stunde im obigen Format ist
Wie1 Stunde hinzufügen in aktuellen Zeitstempel in KSH
1 Stunde im Unix-Zeitstempel hinzufügendate +%Y%m%d_%H%M
Ich brauche 1 Stunde im obigen Format ist
Eine wörtliche Antwort auf Ihre Frage hinzufügen zu verwenden
date --date="next hour" +%Y%m%d_%H%M
aber ich vermute, dass Sie tatsächlich die Zeit in einer anderen Zeitzone anzeigen möchten. Um in UTC anzuzeigen:
und in einer anderen Zeitzone, z.B.
TZ="Europe/Stockholm" date +%Y%m%d_%H%M
vorausgesetzt natürlich, dass die Systemuhr korrekt eingerichtet ist.
Das GNU-Datum macht das Leben einfach. Ohne GNU-Datum können Sie Ihre Zeitzone manipulieren:
Seien Sie vorsichtig mit der Sommerzeit.
Sie können sich an diesen Trick erinnern, wenn Sie das Datum (ohne Zeit) von gestern erhalten. Das Hinzufügen von 24 Stunden zur Zeitzone kann zu Problemen während der Sommerzeit führen. Sie können einen Trick verwenden, um gestern zu finden:
Sie sind sicher, dass gestern 20 oder 30 Stunden her ist. Welcher? Nun, der jüngste, der nicht heute ist.
echo "$(TZ=GMT+30 date +%Y-%m-%d)\n$(TZ=GMT+20 date +%Y-%m-%d)" |
grep -v $(date +%Y-%m-%d) | tail -1
Der obige Befehl ist für ksh. Wenn Sie Bash verwenden, möchten Sie echo -e
. Oder verwenden Sie printf:
printf "%s\n%s\n" "$(TZ=GMT+30 date +%Y-%m-%d)" "$(TZ=GMT+20 date +%Y-%m-%d)" |
grep -v $(date +%Y-%m-%d) | tail -1