DateTime 型別能保留日期加時間、只保留日期或只保留時間。Date 型別只能儲存日期,而 Time 型別只能儲存時間。Date 和 Time 型別比 DateTime 型別更有效率,因此可以在不需要 DateTime 型別的功能及彈性時使用。
Visual Basic 不支援只保留日期或只保留時間的個別型別。Basic 語法的 DateTime 型別與 Visual Basic 的 Date 型別相似。
您可直接使用日期時間常值結構來建立日期時間值:在兩個井字號 (#) 之間輸入日期時間即可。與 Visual Basic 相同,Basic 語法支援許多不同的格式。
注意 日期時間常值不可以分成兩行。
範例
#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#)