日付/時刻演算を実行する

日付/時刻値は、年、月、日、時間、分、秒で構成されます。日付/時刻フィールドでは日付/時刻値をそのまま使用することもできますが、文字列として使用するには @Text で文字列に変換しなければなりません。文字列から日付/時刻値へは @TextToTime で変換します。

日付/時刻定数は、日付、時刻、両方をブラケットで囲んだものです。日付は、月、日、年をスラッシュ (/) で区切ったものです。OS/2 の場合はハイフン (-) で区切られます。年は省略可能で、デフォルトでは今年になります。2 桁の年は、50 以上であれば 20 世紀の年、50 よりも小さければ 21 世紀の年とします。

時刻は、時間、分、秒をコロンで区切ったものです (秒はオプション。デフォルトでは 0 になります)。24 時間制を使用することも、午後を表す「PM」を付けることもできます。タイムゾーンを付加して別のタイムゾーンを表すこともできます。構成要素は空白で区切ります。日付/時刻定数の例としては、[6/30/97]、[5:30:00 PM]、[17:30:00]、[17:30 EST]、[6/30 5:30 PM] などがあります。

日付は比較したり減算することができます。減算すると、秒数を表す数値になります。2 つの日付の差を日数で計測するには、結果を 1 日の秒数である 86,400 で割ります。例えば、[07/01/01] を含む date1 と [07/05/01] を含む date2 という 2 つの日付フィールドがある場合、次の式は 345,600 を返します。

date2-date1

結果を 345,600 秒ではなく 4 日として表示するには、次のコードを使用します。

(date2-date1)/86,400

日付の計算についての詳細は、@Adjust を参照してください。

次の @関数は、日付/時刻値の判定や操作を行います。

関数

説明

@Accessed

文書への最後のアクセスがあった日付/時刻を返します。

@Adjust(time-date; y; m; d; h; m; s)

日付/時刻をその他のパラメータで指定した正数や負数分だけ調整します。

@BusinessDays

1 つ以上の日付範囲に含まれる営業日数を返します。

@Created

文書が作成された日付/時刻を返します。

@Date(y; m; d)

年、月、日の日付を返します。

@Date(y; m; d; h; m; s)

年、月、日、時間、分、秒の日付を返します。

@Date(time-date)

日付/時刻の日付を返します。

@Day(time-date)

日付/時刻から日を抽出します。

@Hour(time-date)

日付/時刻から時間を抽出します。

@Minute(time-date)

日付/時刻から分を抽出します。

@Modified

文書が最後に編集され、保存された日付/時刻を返します。

@Month(time-date)

日付/時刻から月を抽出します (1 から 12 の値)。

@Now

現在の日付/時刻を返します。

@Now([ServerTime])

現在のデータベースが格納されているサーバーの現在の日付/時刻を返します。

@Now([ServerTime]; serverNames )

指定したサーバーの現在の日付/時刻を返します。

@Second(time-date)

日付/時刻から秒を抽出します。

@Time(h; m; s)

時間、分、秒の形式で時刻を返します。

@Time(y; m; d; h; m; s)

年、月、日、時間、分、秒の時刻を返します。

@Time(time-date)

日付/時刻の時刻を返します。

@Today

今日の日付を返します。

@Tomorrow

明日の日付を返します。

@Weekday(time-date)

日付/時刻の曜日を 1 から 7 (日曜日から土曜日までを示す) で返します。

@Year(time-date)

日付/時刻から年を抽出します。

@Yesterday

昨日の日付を返します。

@Zone

現在のコンピュータのタイムゾーンの設定を返します。

@Zone

日付/時刻のタイムゾーンの設定を返します。