Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

Timer

UTC 深夜 0 時からの経過秒数を返します。

Synopsis

Timer

引数

なし

概要

Timer は、通常、経過時間を確認するために使用されます。ただし、Timer は UTC 深夜 0 時に 0 にリセットされるため、堅牢なタイマ・プログラムは終了時刻から開始時刻を単純に減算できません。

Timer は、ローカル時間帯とは独立した UTC (Coordinated Universal Time) の深夜 0 時からの経過秒数を返します。そのため、Timer は、ローカル時間帯に関係なく一様の時刻値を示します。これは、ローカル時刻値とは異なることもあります。Timer 返り値は、秒数とその小数部で時刻をカウントする 10 進数値です。秒以下の桁数は、0 から 9 桁で、コンピュータの時刻クロックの有効桁数によって決定します。Windows システムでは、小数部分の有効桁数は 3 桁で、UNIX® システムでは 6 桁です。Timer では先頭および末尾のゼロは表示されません。小数部分がちょうどゼロの場合は、末尾の小数点も表示されません。

以下の例は For...Next ループを 50 回繰り返すときにかかる時間を確認するために、2 つの Timer 関数の値を比較します。この例では、ループが繰り返されるたびに ASCII 文字セットが出力されます (デモンストレーションのため、経過時間が有効な小数精度より小さくならないように Sleep 文が含まれています)。前と後の timer 値が比較され、経過時間が表示されます。Else 節は、深夜 0 時のリセット状況を処理するために指定されています。

Dim StartTime,EndTime,TimeIt
StartTime = Timer
For I = 1 To 50
   Sleep .05
   x = 32
   Print I
   For N = 1 To 94
   Print Chr(x)
   x = x + 1
   Next
   Println ""
Next
EndTime = Timer
Println "start time: ",StartTime
Println "end time: ",EndTime
If EndTime >= StartTime Then
  TimeIt = EndTime - StartTime
Else
  EndTime = EndTime + 86400
  TimeIt = EndTime - StartTime
End If
 Println "elapse time: ",TimeIt

関連項目

FeedbackOpens in a new tab