2016-03-31 11 views

Antwort

0

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.

0

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 
Verwandte Themen