[Go to BBS]
All articles in a thread
SubjectDate extension module
Article No484
Date: 2007/11/20(Tue) 23:02:11
ContributorAKio Morita
SADでの時刻表現は、日本標準時固定かつ閏秒なしなので
o 日本国外
o 閏秒対応な環境
での運用時にDate[]/ToDate[]/DateString[]等からの
Local Time出力がずれて見えるという問題があります
#Day[]の曜日も時差があるため正しく無い場合があります

KBFrameには常に時刻を表示する機能があるため、
間違った Local Timeを表示されると紛らわしいので
これを修正するために Date[]/FromDate[]/ToDate[]/
DateString[]/FromDateString[]/Day[]関数を
Time Zone & 閏秒対応のものに置き換える
extension moduleを作りました

SADの内部時刻表現(1900-01-01 00:00:00 JSTからの
経過秒数)の表現域は、一般的なUnixの32bit符号付き整数による
time_t(1970-01-01 00:00:00 UTCからの経過秒数)には納まらないので
DJBの libtaiライブラリによる TAI64表現を使用しています。

このextension moduleを導入して意味があるのは以下の方々です
o UTCとの時差が +0900以外の環境で Local Timeの出力が欲しい方々
o 閏秒対応のシステムを運用中で、Local Time表現に現れる 13秒の時差(UTC-TAI-10)が問題になる方々

残念ながら、DST(夏時間)には対応しておりません
#各国・各地方ごとの法律で定められ頻繁に変更されるので、
#フルサポートはなかなか難しいそうです

入手はこちらから
URL: http://acc-physics.kek.jp/SAD/SADrelease/distfiles/Date-Rev1.tar.gz
Size: 12092 bytes
Checksum:
SHA256: 52459e9589e719ae4509eab127e953c6152bd0ecf0ec57636ae13feb58b7bace
SHA1: 12abea3673645678c01843d10522e510fb5bca32
MD5: 5990a8abde131a4ff087b0a1375f3206