4D v14.3時間演算子 |
|||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
時間演算子
|
演算子 | シンタックス | 戻り値 | 例 | 結果 |
加算 | 時間 + 時間 | 時間 | ?02:03:04? + ?01:02:03? | ?03:05:07? |
減算 | 時間 - 時間 | 時間 | ?02:03:04? - ?01:02:03? | ?01:01:01? |
加算 | 時間 + 数値 | 数値 | ?02:03:04? + 65 | 7449 |
減算 | 時間 - 数値 | 数値 | ?02:03:04? - 65 | 7319 |
乗算 | 時間 * 数値 | 数値 | ?02:03:04? * 2 | 14768 |
除算 | 時間 / 数値 | 数値 | ?02:03:04? / 2 | 3692 |
倍長整数の除算 | 時間 \ 数値 | 数値 | ?02:03:04? \ 2 | 3692 |
モジューロ | 時間 % 数値 | 数値 | ?02:03:04? % 2 | 0 |
時間式を数値と組み合わせた式から時間式を取得するには、 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?
状況によっては、時間表現を数値表現に変換する必要があります。
例えば、Open documentを使用してドキュメントを開くとドキュメント参照 (DocRef) が返されますが、これは元々時間式です。後でドキュメント参照として数値を受け取る4D ExtensionルーチンにDocRefを渡すとします。この場合ゼロに加えることにより、時間値からその値を変更することなく数値を取得できます。
例題:
` ドキュメントを選択し開く
$vhDocRef:=Open document("")
If(OK=1)
` ドキュメント参照値の時間を数値としてルーチンに渡します
DO SOMETHING SPECIAL(0+$vhDocRef)
End if
モジューロ演算子を使用できます。とくに24時間フォーマットを考慮した時間の追加に便利です:
$t1:=?23:00:00? // これは午後11:00です
// 2時間30分を追加します
$t2:=$t1 +?02:30:00? // 単純な追加を行うと$t2は?25:30:00?になります。
$t2:=($t1 +?02:30:00?)%?24:00:00? // $t2は?01:30:00?となる。
プロダクト: 4D
テーマ: 演算子
ピクチャ演算子
ビットワイズ演算子
数値演算子
文字列演算子
日付演算子
比較演算子
演算子
論理演算子
ランゲージリファレンス ( 4D v14 R3)
ランゲージリファレンス ( 4D v14 R2)
ランゲージリファレンス ( 4D v14.3)
ランゲージリファレンス ( 4D v14 R4)
Inherited from : 時間演算子 ( 4D v12.4)