Mais conteúdo relacionado Semelhante a サマータイム導入?【開発者編】 - その時 Notes/Domino は正確な時を刻むのか (6) Mais de Haruyuki Nakano (20) サマータイム導入?【開発者編】 - その時 Notes/Domino は正確な時を刻むのか11. 【参考】正規のタイムゾーン値
Z=9$DO=1$DL=4 1 1 10 -1 1$ZX=1$ZN=Alaskan
Z タイムゾーンの GMT からの時差。上記はGMTの9時間後であることを示している
DO サマータイム (DST : Daylight Saving Time) 監視フラグ。
1 はサマータイムが有効であることを示し、0 は無効であることを示します。1 の場合は
DL に値が渡されます
DL <開始月> <開始週> <開始曜日> <終了月> <終了週> <終了曜日> を特定するサマータイ
ムのルール
ZX ホスト固有のタイムゾーンインデックス
ZN タイムゾーン名
正規のタイムゾーン値には、夏時間を適用する「年」、開始/終
了の「時刻」、「進める時間の長さ」を示す情報が無い
22. 特定の地域の日時をハードコードするなら
dt := @TextToTime( "2018/10/10 12:00:00 ZE9" )
OSのタイムゾーン @Text( dt; “D0T0Z2“ ) の結果
ZE9 2018/10/10 12:00:00 ZE9
PST 2018/10/10 12:00:00 ZE9
@TextToTime の値にあるラベルが
現在のOSのタイムゾーンより優先される。
※無効なラベルを指定すると、OSのタイムゾーン(ローカル時刻)になる
23. 異なるタイムゾーンにおける
ラベルの不一致
OSのタイムゾーン @Text( a; "D0T0Z2“ )
ZE9 2018/11/10 12:00:00 PDT
PST 2018/11/10 12:00:00 PST
dt := @TextToTime("2018/10/10 12:00:00 PDT");
a := @Adjust( dt; 0; 1; 0; 0; 0; 0; [InGMT] );
OSのタイムゾーンが異なる場
合、夏時間が有効のまま
OSのタイムゾーンがPSTの場
合、標準時に変換される
10月10日の1カ月後は
標準時(PST)に戻る
27. Variant 型の日付
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
64ビット(= 8バイト)
整数部=日付 小数部=時刻
LotusScript では日付として西暦100年1月1日(-657434)から9999
年12月31日(2958465)までの範囲を許容
0は1899年12月30日を表す
37. 異なるタイムゾーンにおける
ラベルの不一致
ラベルは PST になる ラベルは PDT のまま
2018年11月5日は太平洋標準時 PST で夏時間終了の翌日だが、
あえて夏時間を示すラベル PDT を付けて変換を試みた
OSのタイムゾーンをPSTに設定 OSのタイムゾーンをZE9に設定
IsDST は False に変わる IsDST は True のまま
43. どのラベルが有効?
Dim dateTime As New NotesDateTime("Today 06:00")
msg = "Zone" & Chr(9) + "Time"
For i = -12 To 12
Call dateTime.ConvertToZone(i, False)
msg = msg & Chr(10) & dateTime.TimeZone & Chr(9) & _
dateTime.ZoneTime
Next
MessageBox msg,, "Today 06:00 Standard Time"
False: 標準時
True: 夏時間
標準時 夏時間
JST は無い…
夏時間の
ラベルはある
Notas do Editor DSTLAWTIME は 9.0.1 FP4 から有効な notes.ini のパラメータ 倍精度浮動小数点数 Now はOSのタイムゾーン設定に従った現在時刻を返す OSのタイムゾーン情報で夏時間が有効の場合、加算した値に従い、標準時と夏時間を自動変換する OSのタイムゾーン情報で夏時間が有効でない場合、他の夏時間が有効なタイムゾーンのラベルを指定しても、標準時と夏時間を正しく変換できない。
OSのタイムゾーン(DST)情報とNotesDateTimeクラスにセットする日時値のタイムゾーンが同じ場合、自動変換されることが確認できた。
「2006年 9月配信」の情報にはノーツのタイムゾーンとして日本標準時 JST の記載がある
@LocationGetTZ はドキュメント化されていない関数です。
前頁のWebページには日本標準時のラベルとして JST が紹介されているが、@LocationGetTZ(1)のリストにJSTは存在しない。
夏時間のラベルが取得できるのかは不明
@LocationGetTZ(0) は次のような情報を取得できる
(UTC+08:00) パース|0$129$W. Australia Standard Time$-8
(UTC+08:45) ユークラ|0$11$Aus Central W. Standard Time$-4508
(UTC+09:00) ソウル|0$59$Korea Standard Time$-9
(UTC+09:00) 平壌|1$82$North Korea Standard Time$-9
(UTC+09:00) 大阪、札幌、東京|0$111$Tokyo Standard Time$-9
(UTC+09:00) チタ|0$114$Transbaikal Standard Time$-9
(UTC+09:00) ヤクーツク|0$136$Yakutsk Standard Time$-9
(UTC+09:30) ダーウィン|0$10$AUS Central Standard Time$-3009
図はOSのタイムゾーンをZE9(夏時間を実施していないゾーン)に設定して実行した結果