MrWurf: Datum parsen

Hallo,

folgendes Problem: ich möchte aus eingegeben Werten von Jahr, Monat und Tag ein Time-Objekt bauen. Naja nicht direkt ein Time-Objekt, eher sowas was time() zurückliefert.

kennt ihr da eine sinnvolle Methode? Mein Versuch war, einen Datumsstring zu bauen und diesen dann parsen zu lassen:

$str_date = '2007.02.05';
$lang = Date::Language->new('German');
$date =$lang->str2time($str_date);

im Ergebnis wurde aus dem 5.Februar der 6.Februar - scheint nicht so zuverlässig zu funktionieren. Und laut Perldoc kann man da keinen Formatter angeben wie 'YYYY.MM.DD'.

irgendwelche Tips?
thx
MrWurf

  1. Hallo MrWurf,

    $str_date = '2007.02.05';
    $lang = Date::Language->new('German');
    $date =$lang->str2time($str_date);

    Um aus einer GMT-Zeit eine UNIX-Zeit zu erstellen gibt es das integrierte Modul Time::Local.
    Du musst allerdings dein Datum vorher so aufbereiten, dass Du es der timelocal-Funktion übergeben kannst. Vielleicht findest Du in CPAN ja sogar ein Modul, das Dir diese Arbeit abnimmt.

    Herzliche Grüße aus Weinsberg
    Helmut Weber

    --
    -------------------------------------------
    Mode ist eine Variable, Stil eine Konstante
    1. Hallo Helmut,

      Du musst allerdings dein Datum vorher so aufbereiten, dass Du es der timelocal-Funktion übergeben kannst.

      danke, genau das habe ich gesucht.

      Vielleicht findest Du in CPAN ja sogar ein Modul, das Dir diese Arbeit abnimmt.

      muss nicht sein. CPAN-Module auf Windowssytemen zu installieren ist kein Spaß. Die Aufbereitung ist ja auch keine Hürde

      thx,
      MrWurf

      1. Vielleicht findest Du in CPAN ja sogar ein Modul, das Dir diese Arbeit abnimmt.
        muss nicht sein. CPAN-Module auf Windowssytemen zu installieren ist kein Spaß. Die Aufbereitung ist ja auch keine Hürde

        Das stimmt, aber ppm bietet ja auch eine Menge Module an.

        Struppi.

        --
        Javascript ist toll (Perl auch!)