[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