
EXPRを省略するとlocaltime(time)が実行される。
time関数では1970年1月1日からの経過秒数を返すが、gmtimeはtime関数が返す値をグリニッジ標準時での年月日時分秒などの要素に変換をする。print time; で 1018405401 と返したとき
print gmtime(time); は 212321031023990 となる。
これは 21=秒, 23=分, 2=時, 10=日, 3=4月, 102=2002年, 3=水曜日, 99=99日, 0=非サマータイムの意味。localtimeの日本時間と9時間の差となる。
変数に代入することによって以下のような結果を得られる。
| gmtime(time)が 212321031023990 のとき | |||
| $sec | 21 | 21秒 | 0〜59 |
| $min | 23 | 23分 | 0〜59 |
| $hour | 2 | 23時 | 0〜23 |
| $mday | 10 | 1日 | 1〜31 |
| $mon | 4 | 4月 | 0〜11(1月は0) |
| $year | 102 | 102年 | 1900を引いた年数 |
| $wday | 3 | 水曜日 | 0〜6(日曜日は0) |
| $yday | 99 | 99日 | 1月1日からの経過年数 |
| $isdst | 0 | 0 | サマータイム期間中は1 |
2002年04月10日 のように表示するには下のようにsprint関数を使う。
Perlライブラリモジュールの Time::Local には、gmtime の逆変換をするサブルーチン timegm() がある。