Perlにおける日時

Perlにおける日時

Unix time

[11] Perltime などで Unix time を使っています >>69

[15] Perl にはネイティブ日時用データ型がないのですが、 Unix time たる数値Perl アプリケーションの標準の内部時刻形式と考えられています。

[38] コアモジュールTime::HiRes::time小数のUnix time を返します。

その他の整数時刻系

[70] 厳密には time などが使うのはプラットフォーム依存の整数時刻系です >>69

[3] Mac OS (≠ Mac OS X) では 1904年起点となっています >>69

[4] VMS についてはVMSの日時形式参照。

[5] こうした例外はありますが、 現在一般に使われるプラットフォームではすべて Unix time で、 それに依存した Perlモジュールアプリケーションも多々あります。

[1] Perltime 関数が返す値 (に限らず、 Perl で時刻を表す整数値) は実は環境依存なんですね。駱駝本読んで知りました。 Un*xActivePerl では Un*x時間 (Epoch = 1970年1月1日0時0分0秒 GMT) ですけど、 OSX 以前の MacOS とか VMS とかは epoch が違うようで。 Unix time

[2] ってことで、可搬なスクリプトを書くつもりがあるならそれなりの対処が必要な場面もあるかもしれません。ないかもしれません。秒数を保存データに使ったりしない限り。

tm

[8] gmtimelocaltime は、 同名の C言語関数 (や asctime) と似た挙動を示します。ただし C言語のような構造体ではなく、 リストを返します。

[9] 逆方向の演算は標準の関数にはありませんが、 コアモジュールTime::Local に含まれています。

モジュール

[6] DateTime.pmTime::Piece など日時を扱うための Perlモジュールはいくつかあります。

[7] いずれもそれなりの人気はありますが、事実上の標準と言えるほどのものはありません。 整数小数表現や各モジュールのいずれを選ぶかはアプリケーションモジュールによって異なっています。

歴史

[14] The Many Dates and Times of Perl () https://www.perl.com/pub/2003/03/13/datetime.html/

[13] 第15回 DateTime:APIの標準化をめざして:モダンPerlの世界へようこそ|gihyo.jp … 技術評論社 () http://gihyo.jp/dev/serial/01/modern-perl/0015

メモ

[10] Time::Local - Efficiently compute time from local and GMT time - metacpan.org () https://metacpan.org/pod/Time::Local

[12] houseabsolute/Time-Local: Efficiently compute time from local and GMT time () https://github.com/houseabsolute/Time-Local