Tips

GMTとのタイムゾーン時差を計算する

日付2010/12/28
ID76220 (英語原文参照)
バージョンv11
プラットフォームMac/Win

4D v12.1では、Stringコマンドで時間をISO DATE GMTフォーマットに変換できるようになりました。これと以前のISO DATEを組み合わせれば、GMTとの時差を計算することができます。

// Description:
// Returns the current timezone offset as text like:
// "-08:00:00" if in Pacific Standard Time
// "-06:00:00" if in Central America
// "+04:30:00" if in Kabul
// "+12:00:00" if in Fiji

C_TEXT($0;$local_DATE;$gmt_DATE;$gmt_TIME)
$local_DATE:=Substring(String(Current date;ISO Date);1;10)
$gmt_DATE:=Substring(String(Current date;ISO Date GMT);1;10)
$gmt_TIME:=Substring(String(Current date;ISO Date GMT);12;8)
If ($gmt_DATE=$local_DATE)
// - time
$0:="-"+$gmt_TIME
Else 
// + time
$0:="+"+String(?24:00:00?-Time($gmt_TIME))
End if