Hallo, Am Tue, 05 Oct 2004, Heinz W. Pahlke schrieb:
On 05-Oct-2004 David Haller wrote:
Also ich kann das nicht nachvollziehen (perl 5.8.0):
Logisch...
$ perl -MPOSIX -Mlocale -e ' setlocale(LC_ALL, "de_DE.utf8"); for $fmt ("%e.%b.%Y", "%e.%m.%Y", "%d.%b.%Y","%d.%m.%Y") { print "»", strftime($fmt, localtime()), "«\n"; }' » 5.Okt.2004« » 5.10.2004« »05.Okt.2004« »05.10.2004«
...der Oktober wird eben auch als 10 geschrieben und mit einer fuehrenden Null ergaenzt werden nur einstellige Monatszahlen. Zumindest habe ich man strftime so verstanden.
Ja. Da hab' ich dich missverstanden. $ perl -MPOSIX -Mlocale -e ' setlocale(LC_ALL, "de_DE.utf8"); printf "%i.%i.%i\n", split(" ", strftime ("%d %m %Y", localtime(0)));' 1.1.1970 Entscheidend ist hier, dass du dem 'printf' die einzelnen Datumsteile als Array uebergibst (damit eben die verschiedenen Teile des Formats des printf angewendet werden). Das erledigt das 'split'. Als Trennzeichen kannst du natuerlich auch was anderes als ein Leerzeichen nehmen. Achso: localtime(0) ist eben "0 Sekunden seit dem 1.1.1970 00:00 Uhr". Man koennte das Ergebnis von strftime auch per s/// oder so nachbearbeiten. -dnh -- Das kommt davon, wenn man bei dem regenwetter keine Mütze aufzieht. Dann weicht bei vielen das Gehirn auf. [WoKo in dag°]