Datumsformat

megajolly

Grünschnabel
hi leute,

mal ne frage. ich möchte aus einer e-mail die ich mit perl über pop3 abhole das datum usw auslesen.

das habe ich mittlerweile auch schon geschafft.
ich bekomme dann folgende ausgabe (der zeile)

Date: Wed, 7 Jun 2006 08:06:57 +0200 (CEST)

wie schaff ich es nun die uhrzeit im format hh:mm und das datum im format YYYY/MM/DD jeweils in einer variablen zu speichern?

bin noch blutiger anfänger in perl und komm hier einfach nich weiter....

mfg jolly
 
Hallo megajolly!

Am einfachsten zerlegst du den Datumsstring mithilfe von einem RegEx in seine Bestandteile und setzt ihn dann nach deinen Wünschen wieder zusammen.

Davon ausgegangen, dass der String in der Variable $zeile steht, sähe das wie folgt aus:

Perl:
my $zeile = "Date: Wed, 7 Jun 2006 08:06:57 +0200 (CEST)";

my %months = qw(Jan 1 Feb 2 Mar 3 Apr 4 May 5 Jun 6 Jul 7 Aug 8 Sep 9 Oct 10 Nov 11 Dec 12);

my ($day, $month, $year, $hour, $min, $sec) = ($zeile =~ /, (\d{1,2}) (\w+?) (\d{4}) (\d{1,2}):(\d{1,2}):(\d{1,2}) /);

print "$day, $months{$month}, $year, $hour, $min, $sec";

Der Hash $months wird verwendet, um die Kurzschreibweise des Monats in eine Zahl umzuwandeln.

Weitere Infos zu regulären Ausdrücken in Perl gibts unter perldoc perlre.

Schönen Tag noch,
Sven
 
vielen dank für deine hilfe.....

hab den gesamten letzten donnerstag damit verbracht mich in die regulären ausdrücke einzuarbeiten, habs mittlerweile so irgendwie geschafft *g*

trotzdem werde ich deine lösung auch mal antesten...


nochmals danke...

mfg jolly
 
Zurück