時間
時間のフィールド・変数・式の範囲は 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 + Time | Time | ?02:03:04? + ?01:02:03? | ?03:05:07? |
減算 (引き算) | Time – Time | Time | ?02:03:04? – ?01:02:03? | ?01:01:01? |
加算 (足し算) | Time + Number | Number | ?02:03:04? + 65 | 7449 |
減算 (引き算) | Time – Number | Number | ?02:03:04? – 65 | 7319 |
乗算 (かけ算) | Time * Number | Number | ?02:03:04? * 2 | 14768 |
除算 (割り算) | Time / Number | Number | ?02:03:04? / 2 | 3692 |
倍長整数を返す除算 | Time \ Number | Number | ?02:03:04? \ 2 | 3692 |
モジューロ | Time % Time | Time | ?20:10:00? % ?04:20:00? | ?02:50:00? |
モジューロ | Time % Number | Number | ?02:03:04? % 2 | 0 |
等しい | Time = Time | Boolean | ?01:02:03? = ?01:02:03? | true |
?01:02:03? = ?01:02:04? | false | |||
異なる | Time # Time | Boolean | ?01:02:03? # ?01:02:04? | true |
?01:02:03? # ?01:02:03? | false | |||
大きい | Time > Time | Boolean | ?01:02:03? > ?01:02:03? | true |
?01:02:03? > ?01:02:03? | false | |||
小さい | Time < Time | Boolean | ?01:02:03? < ?01:02:04? | true |
?01:02:03? < ?01:02:03? | false | |||
以上 | Time >= Time | Boolean | ?01:02:03? >=?01:02:03? | true |
?01:02:03? >=?01:02:04? | false | |||
以下 | Time <= Time | Boolean | ?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?