DateTime::TimeZone::Asia::Tokyo の 1888年問題?

| コメント(0) | トラックバック(0)
このエントリーを含むはてなブックマークこのエントリーのはてなブックマーク数 Buzzurlへ追加このエントリーのBuzzurlブックマーク数 livedoorクリップへ追加このエントリーのlivedoorクリップ数 Yahoo!ブックマークへ追加人が登録 POOKMARK Airlinesへ追加 Saafへ追加 ニフティクリップへ追加 add to del.icio.us add to Digg add to Reddit

たまには Perl の話題でも。

Perl の DateTime モジュールでの日時の取り扱いについて、とある件で色々と調べていたところ、どうやら1888年1月1日0時0分0秒を境におかしなことになっている。例えば、以下のようなコードを実行。

#!/usr/bin/perl

use strict;
use warnings;

use DateTime;
use DateTime::Format::W3CDTF;

my $dta = DateTime->new(
time_zone => 'Asia/Tokyo',
year => 1888,
month => 1,
day => 1,
hour => 0,
minute => 0,
second => 0,
);

my $dtb = DateTime->new(
time_zone => 'Asia/Tokyo',
year => 1887,
month => 12,
day => 31,
hour => 23,
minute => 59,
second => 59,
);

print DateTime::Format::W3CDTF->format_datetime($dta)."\n";
print DateTime::Format::W3CDTF->format_datetime($dtb)."\n";

すると、以下のような結果に。

$ perl datetimetest.pl
1888-01-01T00:00:00+09:00
1887-12-31T23:59:59+09:18:59

この 18:59 は一体何なんだとまた調べ進めると、どうやら1888年とは日本標準時が適用された年なのだということが分かります。

この日本の標準時に関する部分は1888年(明治21年)1月1日から適用された。

更に肝心の 18:59 はというと、どうやら、

斉藤国治「星の古記録」(岩波新書、1982)の 195 ページによれば、 現行の日本標準時が採用されたのは 1888 年 1 月 1 日だそうだ。 それまでは旧江戸城本丸跡中央気象台の地方平均太陽時を使っており、 両者の差は 19 分 1 秒、とのこと。

という事柄に関連している模様。ここでは19分1秒とされているので3秒の差がなんなのかは分からないけれど、どちらも約19分ということで起源はこれで間違いないかと。というわけで、1888年より前の日時を扱う可能性がある場合に、自前で W3CDTF 形式の日時を Parse しようとするには、注意が必要ですね、ということ。

それにしても、1888年より前の日時を扱うことなどほとんどないのでなかなか気付くことは無いのだろうけれど、当事者であるほとんどの日本人ですら知らないようなこと(え、常識?)が反映されている Perl モジュールってば、なんかすげぇなと思った次第です。

*何か僕の認識が間違ってたらどなたか突っ込んでください。優しい突っ込み大歓迎。

トラックバック(0)

トラックバックURL: http://www.hazama.nu/mt/mt-tb-4mrPPRmy.cgi/2792

コメントする

ウェブページ

OpenID対応しています OpenIDについて

AD

 

被はてブ

Flickriver::Most Interesting

tai-tetsu - Flickriver

最近のコメント

アイテム

  • 20100107_five_finger_sox_01.jpeg
  • 20100107_five_finger_sox_01.jpeg
  • 2010年賀状
  • 20091231_digital_camera_magazine_02
  • 20091231_digital_camera_magazine_01
  • 20091223_animal_shougi_02.jpeg
  • 20091223_animal_shougi_01.jpeg
  • 20091108_drybox_03.jpeg
  • 20091108_drybox_02.jpeg
  • 20091108_drybox_01.jpeg

このブログ記事について

このページは、太鉄が2009年7月25日 09:14に書いたブログ記事です。

ひとつ前のブログ記事は「SKINS パワーソックスをすべてのアスリートにお勧めしたい」です。

次のブログ記事は「水筒を持ち歩くことにしました」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。