Re: Monat ohne fuehrende Null

David Haller <[email protected]>
Newsgroups gmane.linux.suse.programming
Message-ID <[email protected]>
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°]

-- 
Um die Liste abzubestellen, schicken Sie eine Mail an:
    [email protected]
Um eine Liste aller verfÃŒgbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.