説明
指定範囲に基づいて、日付時刻値を 21 世紀の日付時刻値に変換します。
引数
日付時刻:2 桁または 4 桁の年が含まれる有効な日付/時刻フィールドのみ指定できます。
日付/時刻フィールドとして定義されているデータベース フィールド。[ファイル]メニューの[レポート オプション]で[日時フィールドを変換]を[Date-Time Field]に設定する必要があります。(このオプションを使用できるのは 6.0 での ODBC データ ソースのみです。)
CDateTime 関数(CDateTime(yyyy, MM, dd, hh, mm, ss))。この関数では年は 4 桁で指定する必要があります。2 桁の年が指定された場合は、00xx であるものと見なされます(例 : 西暦 98 年)。
数値:目的のウィンドウ年に対応する 0 ~ 99 の範囲の数値を指定します。
アクション
2 桁の年(xx)の場合
年の値がウィンドウ値より大きい場合は、その値の前に 19 が付加されます(19xx)。年の値がウィンドウ値と同じかそれより小さい場合は、20 が付加されます(20xx)。
4 桁の年(19xx)の場合
年の値の下 2 桁がウィンドウ値より大きい場合は、年は日付フィールドにあるとおりに保持されます(19xx)。年の値の下 2 桁がウィンドウ値と同じかそれより小さい場合は、上 2 桁が 20 に変更されます(20xx)。年フィールドの上 2 桁が 20 の場合、年は日付フィールドにあるとおりに保持されます(20xx)。
注 年が 1899 以下かつ 100 以上の場合は、日付は変更されません。
例
次の例ではウィンドウ値が年より大きいため、年は 20XX に変更されます。
DateTimeTo2000(CDateTime(1998,12,12,3,2,1), 99)
2098/12/12 3:02:01 が返されます。
次の例ではウィンドウ値が年より小さいため、年は変更されません。
DateTimeTo2000(CDateTime(1995,1,2,3,2,1), 94)
02.01.95 03:02:01 が返されます。
その他の例
この関数によって変更を受けない日付の例を次に示します。
DateTimeTo2000(CDateTime(1899,12,12,5,6,7), 99)
1899/12/12 5:06:07 が返されます。
DateTimeTo2000(CDateTime(999,12,12,5,6,7), 99)
999/12/12 5:06:07 が返されます。
データベースによっては、日付の年の部分が 2 桁のフィールドとして保持されます。 以下の例は、このような日付フィールドをシミュレートしたものです。
DateTimeTo2000(CDateTime (93,12,12,5,6,7), 96)
したがって、2093/12/12 05:06:07 が返されます。
DateTimeTo2000(CDateTime (98,12,12,5,6,7), 50)
12.12.98 5:06:07 が返されます。
DateTimeTo2000(CDateTime (9,12,12,5,6,7), 10)
12.12.09 5:06:07 が返されます。
DateTimeTo2000(CDateTime (2,12,12,5,6,7), 1)
12.12.02 5:06:07 が返されます。