ubuntuusers.de

Timestamp setzen mit touch: "invalid date format" bei korrektem Datum?

Status: Gelöst | Ubuntu-Version: Ubuntu 10.04 (Lucid Lynx)
Antworten |

andimeier

Anmeldungsdatum:
7. Februar 2011

Beiträge: 18

Ich will den Timestamp einer Datei auf einen bestimmten Wert setzen. Das geht normalerweise so:

1
touch -t 201103270130.12 test.txt

Das setzt das Dateidatum von test.txt erfolgreich und wie erwartet auf 27.03.2011 01:30 (und 12 Sekunden). So weit so gut. Aber folgender Befehl liefert eine unerwartete Fehlermeldung:

1
2
touch -t 201103270230.12 test.txt
touch: invalid date format `201103270230.12'

Invalid date format! 02:30:12 ist doch genau so eine gültige Uhrzeit wie 01:30:12!

Nach weiterem Experimentieren bin ich daraufgekommen, dass er ausschließlich mit Uhrzeiten zwischen 02:00 und 02:59 Probleme hat:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
for i in `seq 1 9` ; do echo $i ; touch -t 201103270${i}30.12 test.txt ; done
1
2
touch: invalid date format `201103270230.12'
3
4
5
6
7
8
9

WTF? Kann das vielleicht was mit Zeitzone zu tun haben? Aktuell: CEST, dh UTC+2, hier finden sich die 2 Stunden wieder ...

Ideen?

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)

Ja. 😀 Scheint ein Bug zu sein. Jedenfalls benimmt er sich bei mir genauso.

Also, auf Launchpad als Bug melden: https://launchpad.net/ubuntu/+source/coreutils/+bugs ... dann geht es seinen Gang.
Bis dahin wirst Du den Bug erstmal umsegeln müssen. 😉

LG,

track

LeTux

Avatar von LeTux

Anmeldungsdatum:
12. August 2008

Beiträge: 317

Das ist ja interessant, alles was kleiner als 12 Uhr ist wird als CET angezeigt und alles was bis 23:59:59 geht wird als CEST angezeigt.

EDIT: Kannst aber auch

touch -d '2011-03-27 23:30:20 -0100'

benutzen. Dort kannst du die Zeitverschiebung mit angeben.

Vain

Avatar von Vain

Anmeldungsdatum:
12. April 2008

Beiträge: 2510

Moin,

muss mit der Zeitumstellung zu tun haben, die in dieser Nacht passierte. „Eigentlich“ gab es die Zeitspanne, die du angegeben hast, gar nicht, oder? Die Uhr wurde vorgestellt und sprang direkt von 01:59 auf 03:00.

Wenn du „-d“ statt „-t“ verwenden würdest, könntest du die Zeitzone mit angeben. Vielleicht hilft das. Oder eventuell die Umgebungsvariable „$TZ“ entsprechend ändern.

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)

Zeitumstellung ?? 😲

Das könnte natürlich sein ... dann ist das gar kein Bug ?

Oh Mann, dieses neunmalkluge Betriebssystem ! 🤓

track .. *ist perplex*

andimeier

(Themenstarter)

Anmeldungsdatum:
7. Februar 2011

Beiträge: 18

Oh s**t, Vain, du hast recht!! Kein Bug.

(schön wäre natürlich eine andere Fehlermeldung, die dieses Rätselraten verhindert hätte ...)

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17625

Wohnort: Berlin

Wenn man die Zeit auf zwichen 2 und 3 Uhr dieser Nacht setzen will, das macht man doch mit Absicht, und dann riecht man auch sofort den Braten.

Ich weiß zwar nicht, wann die Uhr umgestellt wird, aber zwichen 2 und 3 ist das jedes Jahr, und das seit Jahrzehnten schon.

andimeier

(Themenstarter)

Anmeldungsdatum:
7. Februar 2011

Beiträge: 18

Wenn man die Zeit auf zwichen 2 und 3 Uhr dieser Nacht setzen will, das macht man doch mit Absicht, und dann riecht man auch sofort den Braten.

Nicht unbedingt .. in diesem Fall ging es nämlich darum, Tausende Fotos über verschiedenen Datums in einem Batch mit dem korrekten Timestamp laut EXIF-Daten zu versehen, nachdem der File-Timestamp durch diverse Kopieroperationen quer über Windows und Linux verhunzt worden war.

Interessanterweise hatten einige Pics tatsächlich den EXIF-Timestamp zB 2011:03:27 02:23:48, was ein illegales Datum in CET/CEST ist. Kommt anscheinend von einer Kamera, die keine Ahnung von Sommerzeit hat. Und touch hat dann (berechtigterweise) verweigert.

Kommt also auf die Tools drauf an. Bei der Windows-Systemzeit ist es übrigens so, dass er zwar nach 2011:03:27 01:59:59 auf 2011:03:27 03:00:00 springt, ich aber trotzdem einfach die Windows-Systemzeit auf 2011:03:27 02:23:48 setzen kann, da regt sich keiner auf.

Und im Herbst gibts ja eine Stunde doppelt, nämlich am 30.10.2011 zwischen 02:00:00 und 02:59:59 ... systemtechnisch eine echte Kopfnuss!

... bin für eine Abschaffung der Sommerzeit

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17625

Wohnort: Berlin

andimeier schrieb:

Und im Herbst gibts ja eine Stunde doppelt, nämlich am 30.10.2011 zwischen 02:00:00 und 02:59:59 ... systemtechnisch eine echte Kopfnuss!

Das ist 02a Uhr und 02b Uhr - ganz einfach. ☺

... bin für eine Abschaffung der Sommerzeit

Und ich bin für eine Abschaffung der Winterzeit. ☺

Vain

Avatar von Vain

Anmeldungsdatum:
12. April 2008

Beiträge: 2510

user unknown schrieb:

Und ich bin für eine Abschaffung der Winterzeit. ☺

Das heißt Normalzeit! 😉

Antworten |