_  _   ,_
/^\/^\-/ @D
~(________/ PERL.LT
|L |L
L L
Straipsniai  Funkcijos 
Funkcijos/gmtime - perverčia UNIX laiką į įrašą ar string'ą naudojant GMT
  • gmtime EXPR

    Konvertuoja laiką kaip kad gražinta time funkcijos į 8 elementų sąrašą su laiku, lokalizuotu standartinei Greenwich laiko zonai. Dažniausia naudojamas taip:

        #  0    1    2     3     4    5     6     7
        ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday) =
    					    gmtime(time);

    Visi sąrašo elementai yra skaitiniai ir ateina tiesiai iš C `struct tm'. $sec, $min, ir $hour yra nurodyto laiko sekundės, minutės ir valandos. $mday yra mėnesio diena, o $mon yra pats mėnesis, įvardijamas 0..11 diapazone, kur 0 yra sausis, o 11 - gruodis. $year yra metai pradedant 1900. T.y. $year yra 123 2023 metais. $wday yra savaitės diena, kur 0 nurodo sekmadienį, o 3 - trečiadienį. $yday yra metų diena, 0..364 diapazone (arba 0..365 keliamuosiuose metuose.)

    Įsidėmėkite, kad $year elementas nėra tiesiog paskutiniai du metų skaičiai. Jei taip manysite, darysite programas, su 2000 metų problema - o to tikrai nesinorėtų ar ne?

    Teisingas būdas gauti pilnus 4 skaitmenų metus yra tiesiog:

    	$year += 1900;

    O gauti paskutiniuosius du metų skaitmenis, (t.y. '01' 2001 metams) reikia:

    	$year = sprintf("%02d", $year % 100);

    Jei EXPR praleistas, gmtime() naudoja dabartinį laiką(gmtime(time)).

    Skaliariniame kontekste, gmtime() gražina ctime(3) reikšmę:

        $now_string = gmtime;  # e.g., "Thu Oct 13 04:54:34 1994"

    Jei reikia vietinio laiko, o ne GMT naudokite localtime. Taip pat žr. timegm funkciją, pateiktą Time::Local modulio, ir strftime(3) ir mktime(3) funkcijas, per POSIX modulį.

    Ši skaliarinė reikšmėnėra priklausoma nuo vietos (žrperllocale), bet yra įtaisyta Perl'e (builtin). Gauti kažką panašaus, bet priklausomo nuo vietinių datos formatų, žr. pavyzdį localtime.

algirdas@perl.lt 2005.04.11 - $dabar