[linux] Perl a cas

Jalsovszky Tamas jalsot na decef.elf.stuba.sk
Úterý Duben 24 15:56:57 CEST 2001


Ahojte!

	Mohol by niekto vysvetlit ako su tie casy pod Linuxom
ratane? gmtime, mktime. Ako viem spravit prevod casu z textovej formy na
tzv. timestamp a spat bez problemov zon a bez problemov pri zmene casu
(daylight-saving)?
Teraz pouzivam skript, ktory asi nie je celkom korektny:

#!/usr/bin/perl
use POSIX;

%mon=("Jan",0,"Feb",1,"Mar",2,"Apr",3,"May",4,"Jun",5,"Jul",6,"Aug",7,"Sep",8,"Oct",9,"Nov",10,"Dec",11);

$Orig = "11:47:42.817 SK Sun Apr 22 2001";
$TIME = &Time2Timestamp($Orig,1);
print $TIME."\n";

sub Time2Timestamp {
    $input = shift;
    $type = shift;
    $input =~ tr/:./ /s;
    ($hour,$min,$sec,$msec,$zone,$d,$month,$day,$year) = split(/
/,$input);
    if ($type == 1 && $msec != 0) {
        $sec--; #zaokruhlenie
    }
    if ($type == 2 && $msec != 0) {
        $sec++; #zaokruhlenie
    }
    $input = POSIX::mktime( $sec, $min, $hour,$day,
$mon{$month},$year-1900 );
        return $input;
}


Vdaka,
		Tomas




Další informace o konferenci linux