[linux] Perl a cas
Marian Glatzner
glatzner na istrobanka.sk
Středa Duben 25 08:11:59 CEST 2001
Cas v Linuxe je pocitany ako cas UTC v sekundach od zaciatku epochy.
To jest od polnoci 1.1.1970 (myslim) svetoveho casu (GMT, UTC).
Casove zony su myslim jasne. Slovensko je v zone MET (Midlle Eurotean
Time). Je to vlastne cislo ktore mozes pouzit ako timestamp. Ak to chces
previest do citatelnejsej formy pouzi prikaz date a podla pouzitych
prepinacov si nastavis aky format datumu potrebujes. Pre blizsie info
vid man date
Bye,
Marian
> -----Original Message-----
> From: Jalsovszky Tamas [mailto:jalsot na decef.elf.stuba.sk]
> Sent: Tuesday, April 24, 2001 3:57 PM
> To: linux na rak.isternet.sk
> Subject: [linux] Perl a cas
>
>
>
> 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
>
> _______________________________________________
> linux mailing list
> linux na rak.isternet.sk
> http://rak.isternet.sk/mailman/listinfo/linux
>
Další informace o konferenci linux