特殊変数$ZTIMESTAMP をローカルのタイムゾーンに変更する方法
これは、InterSystems FAQサイトの記事です。
$ZTIMESTAMPはUTC形式で日付時刻を返すため、ローカルのタイムゾーンに変更するためには以下システムオブジェクトを利用します。
$SYSTEM.Util.UTCtoLocalWithZTIMEZONE($ZTIMESTAMP)
上記出力結果は ddddd,sssss.fff の形式で出力されます。
ddddd:$HOROLOGの日付と同じ形式
sssss:現在の日付の午前 0 時からの経過秒数を示す整数
fff :秒の小数部を示す可変桁数
※ $HOROLOGに似ていますが、$HOROLOGには秒の小数部分は含まれません。
SAMPLES>write $SYSTEM.Util.UTCtoLocalWithZTIMEZONE($ZTIMESTAMP)," - ", $horolog,!
63895,64252.66 - 63895,64252
SAMPLES>write $ZDATETIME($SYSTEM.Util.UTCtoLocalWithZTIMEZONE($ZTIMESTAMP),8)
20151209 17:45:56
SAMPLES>write $ZDATETIME($ZTIMESTAMP,8)
20151209 08:46:05
SAMPLES>
63895,64252.66 - 63895,64252
SAMPLES>write $ZDATETIME($SYSTEM.Util.UTCtoLocalWithZTIMEZONE($ZTIMESTAMP),8)
20151209 17:45:56
SAMPLES>write $ZDATETIME($ZTIMESTAMP,8)
20151209 08:46:05
SAMPLES>