Crystal Reports Designer  

日付、時刻、および日時(Crystal 構文)

日時型は、日時、日付のみ、または時刻のみを保持できます。日付型は日付のみを保持し、時刻型は時刻のみを保持します。日付型と時刻型は日時型より効率的なので、日時型の機能と柔軟性を必要としない場合には有効です。

日時リテラルを使用すると日時型の値を直接作成できます。日時リテラルは、日時を 2 つの # 記号で囲んで入力すると作成できます。さまざまな書式がサポートされています。

   日時リテラルを複数行に分けることはできません。

#1976/8/6 1:20 am#
#Aug 6, 1976#
#Aug 6 1976 13:20:19#
#Aug 6 1976 1:30:15 午後#
#8/6/1976#
#10:20 午前am#

#10:20 am# は時刻型のように見え、#1976/8/6# は日付型のように見えますが、そうではありません。これらはどちらも日時型であり、すべての日時リテラルは日時型になります。たとえば、#10:20 am# は、日付部分が NULL の日時型の値と見なすことができます。これを時刻型に変換するには、CTime(#10:20 am#)を使用します。

日時リテラルの代わりに、CDateTime を使用して、文字列を日時に変換することができます。次がその例です。

CDateTime ("8/6/1976 1:20 am")
CDateTime ("10:20 am")

ただし、日時リテラルと CDateTime の使い方には重要な相違点があります。日時リテラルは、常に英語(U.S.)の日付書式を使用し、Crystal Reports を実行している特定のコンピュータの地域の設定を使用しません。したがって、上の日時リテラルの例は、どのコンピュータでも機能します。一方、日本のシステムでは、次のように日時型を作成できます。

CDateTime ("1997 年 8 月 22 日") //#Aug 22, 1997# と同じ

日付型の値は CDate で、時刻型の値は CTime で作成できます。次がその例です。

CDate ("Aug 6, 1969")
CDate (1969, 8, 6) //年、月、日を指定します
//日時型の引数を日付型に変換します
CDate (#Aug 6, 1969#)
CTime ("10:30 am")
CTime (10, 30, 0) //時、分、秒を指定します
CTime (#10:30 am#)

参照

単純データ型