メインコンテンツまでスキップ
バージョン: 20 R6

時間

時間のフィールド・変数・式の範囲は 00:00:00 から 596,000:00:00 までです。

時間は 24時間制です。

時間の値は数値として扱うことができます。 時間から返される数値は、その時間が表す総秒数です。

注: 4Dランゲージリファレンス マニュアルでは、コマンド説明における時間引数は特に明記されていない限り、「時間」と表記されています。

時間リテラル

時間リテラル定数は、疑問符 (? ... ?) で囲んで表します。

時間は、“時:分:秒” の順で表し、それぞれをコロン (:) で区切ります。 時間は24時間制で指定します。

時間定数の例を次に示します:

?00:00:00? // 午前0時
?09:30:00? // 午前9時30分
?13:01:59? // 午後1時1分59秒

空の時間は、?00.00.00? のように指定します。

Tip: コードエディターでは空の時間を入力するためのショートカットが提供されています。 空の時間を入力するには、疑問符 (?) の入力後に Enterキーを押します。

時間演算子

演算シンタックス戻り値
加算 (足し算)Time + TimeTime?02:03:04? + ?01:02:03??03:05:07?
減算 (引き算)Time – TimeTime?02:03:04? – ?01:02:03??01:01:01?
加算 (足し算)Time + NumberNumber?02:03:04? + 657449
減算 (引き算)Time – NumberNumber?02:03:04? – 657319
乗算 (かけ算)Time * NumberNumber?02:03:04? * 214768
除算 (割り算)Time / NumberNumber?02:03:04? / 23692
倍長整数を返す除算Time \ NumberNumber?02:03:04? \ 23692
モジューロTime % TimeTime?20:10:00? % ?04:20:00??02:50:00?
モジューロTime % NumberNumber?02:03:04? % 20
等しいTime = TimeBoolean?01:02:03? = ?01:02:03?true
?01:02:03? = ?01:02:04?false
異なるTime # TimeBoolean?01:02:03? # ?01:02:04?true
?01:02:03? # ?01:02:03?false
大きいTime > TimeBoolean?01:02:03? > ?01:02:03?true
?01:02:03? > ?01:02:03?false
小さいTime < TimeBoolean?01:02:03? < ?01:02:04?true
?01:02:03? < ?01:02:03?false
以上Time >= TimeBoolean?01:02:03? >=?01:02:03?true
?01:02:03? >=?01:02:04?false
以下Time <= TimeBoolean?01:02:03? <=?01:02:03?true
?01:02:03? <=?01:02:03?false

例題 1

時間式を数値と組み合わせた式から時間式を取得するには、Time コマンドと Time string コマンドを使用します。

Time または Current time コマンドを使用する際に、時間型と数値型の式を組み合わせることができます:

// 以下の行は $vlSeconds に、深夜0時から現在の
// 1時間後までに経過した秒数を代入します。
$vlSeconds:=Current time+3600
// 以下の行は $vHSoon に 1時間後の時刻を代入します。
$vhSoon:=Time(Current time+3600)

2番目の行はより簡単に記述することができます:

  // 以下の行は $vHSoon に1時間後の時刻を代入します。
$vhSoon:=Current time+?01:00:00?

例題 2

モジューロ演算子を使用できます。とくに24時間フォーマットを考慮した時間の追加に便利です:

$t1:=?23:00:00? // 23時です
// これに 2時間半を追加します
$t2:=$t1 +?02:30:00? // 単純な追加を行うと $t2 は ?25:30:00? になります。
$t2:=($t1 +?02:30:00?)%?24:00:00? // $t2 は ?01:30:00? で、つまり翌日の 01:30 です