Time ライブラリ
概要 - Abstract
VCSSL Time ライブラリ は、時間計測や、時刻取得などの機能を提供する標準ライブラリです。
時間を取得する機能は time() 関数によって提供されます。この関数は、プログラム実行開始からの経過時間を返します。
( いくつかの言語では、こうした関数は 1970年 1月 1日 午前 0 時 からの経過時間を返しますが、VCSSL ではそうではありません。 )
time 関数が返す時間の精度(単位)は、標準の処理系においてはミリ秒単位です。しかし、単位変換の際に「 /1000 」のような決め打ちの数値を書く事を避けたい場合や、単位の異なる特別な処理系(現状では存在しません)への移植性を考慮したい場合などのために、time 関数の戻り値を、様々な時間単位に変換する関数も提供されています。
具体的には、millisecond 関数はミリ秒単位、second 関数は秒単位、minute 関数は分単位、hour 関数は時間単位、day 関数は日単位に変換します。
例として、適当な処理をさせて、その間の所要時間を計測するには、以下のようにします:
[ ここで適当に時間のかかる処理を行う ]
int t2 = time(); // 開始時間を計測
int sec = second( t2 - t1 ); // 所要時間(時間の差)を秒単位で取得
print( "所要時間 [ 秒 ] = " + sec ); // 出力
また、second 関数、minute 関数、hour 関数を引数なしでコールすると、現在の時計的な時刻を返します。
同様に、day 関数、month 関数、year 関数を引数なしでコールすると、現在のカレンダーにおける日付を返します。
例として、現在の日付と時刻を表示するには、以下のようにします:
目次 - Index
- int time()
- プログラム実行開始からの経過時間を、ミリ秒単位で返します。この関数は使用頻度が高いため、VCSSL 3.4.22 以降において、System ライブラリでもサポートされる事になりました。そのため現在は、この関数は Time ライブラリを import しなくても使用できます。( System ライブラリに属する関数群は、全て import 不要で使用できるためです。 )
- int millisecond( int t )
- time 関数が返す値などを、ミリ秒単位に変換します(つまり、そのまま返します)。
- int second( int t )
- time 関数が返す値などを、秒単位に変換します。秒に満たない余りは切り捨てられます。
- int minute( int t )
- time 関数が返す値などを、分単位に変換します。分に満たない余りは切り捨てられます。
- int hour( int t )
- time 関数が返す値などを、時間(hour)単位に変換します。1時間に満たない余りは切り捨てられます。
- int day( int t )
- time 関数が返す値などを、日単位に変換します。1日に満たない余りは切り捨てられます。なお、自転速度の揺らぎや閏秒など、天文学的・物理学的な効果は考慮されません。単純に 86400000 ミリ秒を 1 日として変換します。
- int year()
- 西暦カレンダーにおける現在の年を返します。
- int month()
- 西暦カレンダーにおける現在の月を返します。範囲は 1 〜 12 の範囲で返します。0 〜 11 でない事に注意してください。
- int day()
- 西暦カレンダーにおける現在の日を返します。
- int hour()
- 現在の時刻における時間を返します。
- int minute()
- 現在の時刻における分を返します。
- int second()
- 現在の時刻における秒を返します。
- string date()
- 西暦カレンダーにおける日付・時刻を表すテキストを返します。書式は現時点で仕様上未定となっており、処理系依存です。確実な書式が必要な場合は、year 関数や hour 関数などを用いて独自に表現してください。
構造体 - Structs
- なし - None -
変数 - Variables
- なし - None -
関数 - Functions
文法的定義 - Signature |
int time() |
関数名 - Name |
time |
役割 - Role |
プログラム実行開始からの経過時間を、ミリ秒単位で返します。 この関数は使用頻度が高いため、VCSSL 3.4.22 以降において、System ライブラリでもサポートされる事になりました。そのため現在は、この関数は Time ライブラリを import しなくても使用できます。 ( System ライブラリに属する関数群は、全て import 不要で使用できるためです。 ) |
戻り値 - Return |
(int型) プログラム実行開始からの経過時間(ミリ秒単位)。 |
文法的定義 - Signature |
int millisecond( int t ) |
関数名 - Name |
millisecond |
役割 - Role |
time 関数が返す値などを、ミリ秒単位に変換します(つまり、そのまま返します)。 |
引数 - Arguments |
(int型) t : 変換したい時間(time 関数の戻り値、及びその和や差など) |
戻り値 - Return |
(int型) ミリ秒単位に変換された値。 |
文法的定義 - Signature |
int second( int t ) |
関数名 - Name |
second |
役割 - Role |
time 関数が返す値などを、秒単位に変換します。秒に満たない余りは切り捨てられます。 |
引数 - Arguments |
(int型) t : 変換したい時間(time 関数の戻り値、及びその和や差など) |
戻り値 - Return |
(int型) 秒単位に変換された値。 |
文法的定義 - Signature |
int minute( int t ) |
関数名 - Name |
minute |
役割 - Role |
time 関数が返す値などを、分単位に変換します。分に満たない余りは切り捨てられます。 |
引数 - Arguments |
(int型) t : 変換したい時間(time 関数の戻り値、及びその和や差など) |
戻り値 - Return |
(int型) 分単位に変換された値。 |
文法的定義 - Signature |
int hour( int t ) |
関数名 - Name |
hour |
役割 - Role |
time 関数が返す値などを、時間(hour)単位に変換します。1時間に満たない余りは切り捨てられます。 |
引数 - Arguments |
(int型) t : 変換したい時間(time 関数の戻り値、及びその和や差など) |
戻り値 - Return |
(int型) 時間(hour)単位に変換された値。 |
文法的定義 - Signature |
int day( int t ) |
関数名 - Name |
day |
役割 - Role |
time 関数が返す値などを、日単位に変換します。1日に満たない余りは切り捨てられます。なお、自転速度の揺らぎや閏秒など、天文学的・物理学的な効果は考慮されません。単純に 86400000 ミリ秒を 1 日として変換します。 |
引数 - Arguments |
(int型) t : 変換したい時間(time 関数の戻り値、及びその和や差など) |
戻り値 - Return |
(int型) 日単位に変換された値。 |
文法的定義 - Signature |
int year() |
関数名 - Name |
year |
役割 - Role |
西暦カレンダーにおける現在の年を返します。 |
戻り値 - Return |
(int型) 現在の年。 |
文法的定義 - Signature |
int month() |
関数名 - Name |
month |
役割 - Role |
西暦カレンダーにおける現在の月を返します。 範囲は 1 〜 12 の範囲で返します。0 〜 11 でない事に注意してください。 |
戻り値 - Return |
(int型) 現在の月。 |
文法的定義 - Signature |
int day() |
関数名 - Name |
day |
役割 - Role |
西暦カレンダーにおける現在の日を返します。 |
戻り値 - Return |
(int型) 現在の日。 |
文法的定義 - Signature |
int hour() |
関数名 - Name |
hour |
役割 - Role |
現在の時刻における時間を返します。 |
戻り値 - Return |
(int型) 現在の時間。 |
文法的定義 - Signature |
int minute() |
関数名 - Name |
minute |
役割 - Role |
現在の時刻における分を返します。 |
戻り値 - Return |
(int型) 現在の分。 |
文法的定義 - Signature |
int second() |
関数名 - Name |
second |
役割 - Role |
現在の時刻における秒を返します。 |
戻り値 - Return |
(int型) 現在の秒。 |
文法的定義 - Signature |
string date() |
関数名 - Name |
date |
役割 - Role |
西暦カレンダーにおける日付・時刻を表すテキストを返します。 書式は現時点で仕様上未定となっており、処理系依存です。確実な書式が必要な場合は、year 関数や hour 関数などを用いて独自に表現してください。 |
戻り値 - Return |
(string型) 日付・時刻を表すテキスト。 |