4D v12.1では新しい日付/時間フォーマットをサポートすることで、タイムスタンプの生成がより容易になりました。これらのフォーマットは特にXMLやWebの処理で使用されます。
これらのフォーマットは既存のStringコマンドで利用できます。日付と時間を処理するために、このコマンドはオプションの第三引数combTimeを受け入れるようになりました。この時間タイプの引数はexpression引数が日付の場合にのみ使用されます (後述)。
ISO8601フォーマットの日付を返すISO Date日付フォーマットで、第三引数を使用することにより、日付と時間を合成した結果を取得できるようになりました:
$mydate:=String(Current date;ISO Date)
$mydate:=String(Current date;ISO Date;Current time)
新しいISO Date GMT日付フォーマットはISO Dateフォーマットと同じですが、時間帯を考慮に入れる点が異なります (ISO Dateフォーマットはローカルの日付と時刻を表します)。 そのためローカルの時間帯により日付が前や後ろにずれることがあります。
$mydate:=String(Current date;ISO Date GMT;Current time)
最後の文字"Z"はUTCで表記していることを表します。
日付のみを渡すと、コマンドはその日のローカル時間00:00:00をUTCで表現した値を返します:
$mydate:=String(Current date;ISO Date GMT)
RFC 822およびRFC 1123に定義された標準に基づく日付と時刻フォーマットを得るために、新しいDate RFC 1123日付フォーマットを使用できます。このフォーマットはたとえばHTTPヘッダーにCookieの有効期限を設定するために使用されます。
$mydate:=String(Current date;Date RFC 1123;Current time)
表現される時間は時間帯が考慮されます (GMT)。日付のみを渡すと、コマンドはローカルタイムの00:00:00をGMTに変換して返します。
返される値は時間帯により日付が前後に移動することがあります:
$mydate:=String(Current date;Date RFC 1123)