GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Datumsbefehl gibt falsche Wochennummer für den 31. Dezember an

Dies gibt Ihnen die ISO-Woche, die an einem Montag beginnt.

Das ISO-Wochendatumssystem ist praktisch ein Schaltwochenkalendersystem, das Teil des Datums- und Zeitstandards ISO 8601 ist, der seit 1988 von der Internationalen Organisation für Normung (ISO) herausgegeben wird (zuletzt überarbeitet im Jahr 2004) und davor in definiert wurde ISO (R) 2015 seit 1971. Es wird (hauptsächlich) in Behörden und Unternehmen für Geschäftsjahre sowie in der Zeitmessung verwendet. Früher war dies als „Industriedatumscodierung“ bekannt. Das System gibt ein Wochenjahr auf dem gregorianischen Kalender an, indem es eine Notation für ordinale Wochen des Jahres definiert.


Ein Jahr mit ISO-Wochennummerierung (informell auch ISO-Jahr genannt) hat 52 oder 53 volle Wochen. Das sind 364 bzw. 371 Tage statt der üblichen 365 bzw. 366 Tage. Die zusätzliche Woche wird manchmal als Schaltwoche bezeichnet, obwohl ISO 8601 diesen Begriff nicht verwendet.

Wochen beginnen mit Montag. Jedes Wochenjahr ist das gregorianische Jahr, in das der Donnerstag fällt. Die erste Woche des Jahres enthält also immer den 4. Januar. Die ISO-Wochenjahresnummerierung weicht daher für einige Tage um den 1. Januar herum leicht von der gregorianischen ab.

Wenn Sie den 31.12. als Woche 52 anzeigen möchten, sollten Sie %U verwenden , die nicht den ISO-Standard verwendet:

$ date -d "2018-12-31T1:58:55" +"%V%a"
01Mon
$ date -d "2018-12-31T1:58:55" +"%U%a"
52Mon

Die Definition der Wochennummer ist zwischen Europa und den USA unterschiedlich, wahrscheinlich ISO- versus ANSI-Standards. Dies kann sich auf eine Woche beziehen, die Sonntag-Samstag oder Montag-Sonntag ist, und dies kann wiederum mit der jüdischen versus christlichen Definition des Tages des Herrn (Sabbat vs. Sonntag) zusammenhängen.

Für Europa enthält die Woche Nummer 1 den ersten Donnerstag im Januar und enthält somit mindestens 4 Tage (d. h. einen Großteil), die zum neuen Jahr gehören (Do-Fr-Sa-So).

Wie auch immer, in solchen Jahren, in denen ALLE (!!) Wochennummern zwischen Europa und den USA +/- 1 unterschiedlich sind, macht das Planen in multinationalen Unternehmen großen Spaß. :-)


Linux
  1. Legen Sie Datum und Uhrzeit für jeden Befehl fest, den Sie im Bash-Verlauf ausführen

  2. 8 Beispiele für schnelle Datumsbefehle in Linux

  3. Linux Date Command Tutorial für Anfänger (8 Beispiele)

  4. date-Befehlsbeispiele in Linux

  5. Datum:Befehl nicht gefunden

12 IP-Befehlsbeispiele für Linux-Benutzer

Bash für Schleife

Datumsbefehl in Linux

Formatierungstricks für den Linux-Datumsbefehl

Exa – Ein moderner Ersatz für ls Command

7 Beispiele für Datumsbefehle in Linux