我们在编程中,通常都需要处理时间日期数据,这也是一种比较难于处理的数据类型,因为时间日期类型的结构相当复杂,并且还有一定的规则,如果在定义的时候不符合规则,程序在编译的时候就会出错。在Visual Basic .Net用以处理时间日期类型的结构(Structure)主要是2个,分别为DateTime和TimeSpan,这二个结构都位于命名空间System,并且在Visual Basic .Net中自己也定义了一种数据类型Date,这种数据类型相当于上面提及的DateTime类。这时候可能很多朋友会问了,什么叫结构,它有什么作用?其实结构和类在作用和功能上是非常类似的,它也有构造函数,二者的主要区别如下:
1. 结构不能包含显式的无参数构造函数。结构成员将自动初始化为它们的默认值。
2. 结构不能有以下形式的初始值设定项:base。
其实对于大多数朋友,你具体使用结构和类的时候,完全可以不需要考虑到二者区别,因为二者在使用上几乎相同。
虽然Visual Basic .Net中提供了Date数据类型来处理时间日期类型,但在实际中往往并不使用它,因为它的定义非常麻烦,加上时间日期类型结构相当复杂,对于很多初学者往往会出现错误。下面就是在Visual Basic .Net中通过Date数据类型定义一个时间日期类型数据变量的语句,就可见其烦杂了:
Dim s As Date = #12/2/2002 7:00:00 PM#
在定义Date数据类型时候,必须注意下面三点:
1. Date数值必须以数字符号"#"括起来。
2. Date数值中的日期数据可有可无,如果有必须符合格式"m/d/yyyy"。
3. Date数值中的时间数据可有可无,如果有必须和日期数据通过空格分开,并且时分秒之间以":"分开。
一.DateTime和TimeSpan的关系和区别:
DateTime和TimeSpan是Visual Basic .Net中用以处理时间日期类型数据的二个主要的结构,这二者的区别在于,DatTime表示一个固定的时间,而TimeSpan表示的是一个时间间隔,即一段时间。在下面介绍的程序示例中,TimeSpan就用以当前时间和给定时间之差。
二.DateTime和TimeSpan中的常用成员及其说明:
DateTime结构和TimeSpan结构提供了丰富的方法和属性,通过这些方法和属性,几乎可以直接处理任何时间日期类型数据。表01和表02分别是DateTime结构的常用属性和常用方法及其说明:
属性 |
说明 |
Date |
获取此实例的日期部分。 |
Day |
获取此实例所表示的日期为该月中的第几天。 |
DayOfWeek |
获取此实例所表示的日期是星期几。 |
DayOfYear |
获取此实例所表示的日期是该年中的第几天。 |
Hour |
获取此实例所表示日期的小时部分。 |
Millisecond |
获取此实例所表示日期的毫秒部分。 |
Minute |
获取此实例所表示日期的分钟部分。 |
Month |
获取此实例所表示日期的月份部分。 |
Now |
创建一个DateTime实例,它是此计算机上的当前本地日期和时间。 |
Second |
获取此实例所表示日期的秒部分。 |
TimeOfDay |
获取此实例的当天的时间。 |
Today |
获取当前日期。 |
Year |
获取此实例所表示日期的年份部分。 |
表01:DateTime类的常用属性及其说明
方法 |
说明 |
Add |
将指定的TimeSpan的值加到此实例的值上。 |
AddDays |
将指定的天数加到此实例的值上。 |
AddHours |
将指定的小时数加到此实例的值上。 |
AddMilliseconds |
将指定的毫秒数加到此实例的值上。 |
AddMinutes |
将指定的分钟数加到此实例的值上。 |
AddMonths |
将指定的月份数加到此实例的值上。 |
AddSeconds |
将指定的秒数加到此实例的值上。 |
AddYears |
将指定的年份数加到此实例的值上。 |
DaysInMonth |
返回指定年份中指定月份的天数。 |
IsLeapYear |
返回指定的年份是否为闰年的指示。 |
Parse |
将日期和时间的指定字符串表示转换成其等效的DateTime实例。 |
Subtract |
从此实例中减去指定的时间或持续时间。 |
ToLongDateString |
将此实例的值转换为其等效的长日期字符串表示形式。 |
ToLongTimeString |
将此实例的值转换为其等效的长时间字符串表示形式。 |
ToShortTimeString |
将此实例的值转换为其等效的短时间字符串表示形式。 |
ToShortDateString |
将此实例的值转换为其等效的短日期字符串表示形式。 |
表02:DateTime结构的常用方法及其说明
表03和表04分别是TimeSpan结构的常用属性和常用方法及其说明:
属性 |
说明 |
Days |
获取由此实例表示的整天数。 |
Hours |
获取由此实例表示的整小时数。 |
Milliseconds |
获取由此实例表示的整毫秒数。 |
Minutes |
获取由此实例表示的整分钟数。 |
Seconds |
获取由此实例表示的整秒数。 |
Ticks |
获取用刻度表示的此实例的值。 |
TotalDays |
获取以整天数和天的小数部分表示的此实例的值。 |
TotalHours |
获取以整小时数和小时的小数部分表示的此实例的值。 |
TotalMilliseconds |
获取以整毫秒数和毫秒的小数部分表示的此实例的值。 |
TotalMinutes |
获取以整分钟数和分钟的小数部分表示的此实例的值。 |
TotalSeconds |
获取以整秒数和秒的小数部分表示的此实例的值。 |
表03:TimeSpan结构的常用属性及其说明
方法 |
说明 |
Add |
将指定的TimeSpan添加到此实例中。 |
Duration |
返回其值为此实例的绝对值的TimeSpan。 |
FromDays |
返回表示指定天数的TimeSpan,其中对天数的指定精确到最接近的毫秒。 |
FromHours |
返回表示指定小时数的TimeSpan,其中对小时数的指定精确到最接近的毫秒。 |
FromMilliseconds |
返回表示指定毫秒数的TimeSpan。 |
FromMinutes |
返回表示指定分钟数的TimeSpan,其中对分钟数的指定精确到最接近的毫秒。 |
FromSeconds |
返回表示指定秒数的TimeSpan,其中对秒数的指定精确到最接近的毫秒。 |
Subtract |
从此实例中减去指定的TimeSpan。 |
表04:TimeSpan结构的常用方法及其说明