DateTime 型別能保留日期加時間、只保留日期或只保留時間。Date 型別只能儲存日期,而 Time 型別只能儲存時間。Date 和 Time 型別比 DateTime 型別更有效率,因此可以在不需要 DateTime 型別的功能及彈性時使用。
您可直接使用日期時間常值結構來建立日期時間值:在兩個井字號 (#) 之間輸入日期時間即可。可支援多種不同的格式。
注意 日期時間常值不可以分成兩行。
範例
#8/6/1976 1:20 am# #August 6, 1976# #6 Aug 1976 13:20:19# #6 Aug 1976 1:30:15 pm# #8/6/1976# #10:20 am#
即使 #10:20 am# 看來似乎具有 Time 型別,而 #8/6/1976# 看來似乎具有 Date 型別,事實上並不然。它們具有 DateTime 型別,就像所有日期時間常值一樣。例如,您可以將 #10:20 am# 當作沒有日期部份的日期時間型別。若要將它轉換成 Time 型別,請使用 CTime (#10:20 am#)。
如果不使用日期時間常值,可以使用 CdateTime,將 String 轉換成 DateTime。例如:
CDateTime ("8/6/1976 1:20 am") CDateTime ("10:20 am")
不過,使用日期時間常值與上述 CDateTime 的用法有一個重要的差別。日期時間常值永遠使用美式英文的日期格式,而不是使用執行 Crystal Reports 的特定電腦上的設定。因此,以上的日期時間常值範例可以在所有電腦上使用。另一方面,在法式系統中,您也可以使用以下結構:
CDateTime ("22 aout 1997") //Same as #Aug 22, 1997#
日期值可使用 CDate 來建立,而時間值則可使用 CTime 來建立:
CDate ("Aug 6, 1969") CDate (1969, 8, 6) //Specify the year, month, day //Converts the DateTime argument to a Date CDate (#Aug 6, 1969#) CTime ("10:30 am") CTime (10, 30, 0) //Specify the hour, minute, second CTime (#10:30 am#)