[fli4l] "date" akzeptiert dokumentierte Zeit-Formate nicht

Hans Bachner Hans at Bachner.priv.at
So Mär 25 23:18:30 CEST 2012


Hallo,

ich habe heute wieder einmal mit einer 3.6.1 Konfiguration herumgespielt 
und dabei auch das in s.f.o schon besprochene Problem mit der 
Interpretation der Timezone-Rule festgestellt. Dem wollte ich allerdings 
nicht im Detail nachgehen (war nur ein Test-Setup), aber doch die 
Uhrzeit korrigieren - mit dem "date" Befehl der Busybox.

Zunächst habe ich mich über das erforderliche Datumsformat informiert:

flitest2 3.6.1 # date --help
BusyBox v1.17.2 (2010-12-14 10:46:26 UTC) multi-call binary.

Usage: date [OPTIONS] [+FMT] [TIME]

Display time (using +FMT), or set time

Options:
<...>

Recognized TIME formats:
        hh:mm[:ss]
        [YYYY.]MM.DD-hh:mm[:ss]
        YYYY-MM-DD hh:mm[:ss]
        [[[[[YY]YY]MM]DD]hh]mm[.ss]

flitest2 3.6.1 #

Die letzte Variante erschien mir schon einmal recht brauchbar, also:

flitest2 3.6.1 # date 201203251959
Fri Aug 12 03:25:00 MESZ 1960
flitest2 3.6.1 # 

Hoppla - das wurde offenbar als MMDDhhmmYYYY interpretiert - und aus dem 
20. Monat im Jahr 1959 nicht unlogisch der 8. Monat 1960 gemacht.

Neuer Versuch:

flitest2 3.6.1 # date 201203252001.00
Mon Aug 12 03:25:00 MESZ 2002
flitest2 3.6.1 # 

Dasselbe wie oben. Also das in der Hilfe als drittes Beispiel angeführte 
Format ausprobiert - damit kam die Busybox gar nicht zurecht und zeigte 
mir als ERgebnis wieder die Hilfe an:

flitest2 3.6.1 # date 2012-03-25 20:01:50
BusyBox v1.17.2 (2010-12-14 10:46:26 UTC) multi-call binary.

Usage: date [OPTIONS] [+FMT] [TIME]
<...>

flitest2 3.6.1 # 

Mit 
flitest2 3.6.1 # date "2012-03-25 20:02:20"
Sun Mar 25 20:02:20 MEZ 2012
flitest2 3.6.1 # 

funktionierte es dann, auch das als zweite Beispiel angeführte Format 
wurde akzeptiert:

flitest2 3.6.1 # date 2012.03.25-20:02:50
Sun Mar 25 20:02:50 MEZ 2012
flitest2 3.6.1 # 

Der Hilfetext scheint jedenfalls nicht mit der Implementierung 
zusammenzupassen. 

Ein Debian-System interpretiert die Zeitangabe auch (allerdings 
dokumentierterweise) als MMDDhhmmYYYY. Ein "großes" Unix, das ich grade 
zur Hand habe (Tru64) akzeptiert beide Formate und überprüft die 
Eingabedaten auf Plausibilität (warnt bei zweideutigen Eingaben).

Am einfachsten wäre es vermutlich, den Hilfetext der Realität 
anzupassen.

Danke + schöne Grüße,
Hans.


Mehr Informationen über die Mailingliste Fli4L