vb.net 教程 1-8 日期时间类型2
发布时间:2020-12-17 07:35:23 所属栏目:百科 来源:网络整理
导读:可惜的是TimeSpan没有提供TimeSpan.Months这样的方法。那么还有没有办法求相差的月份呢? vb.net还提供了DateDiff()方法。 DateDiff 属于 Microsoft.VisualBasic 命名空间,我个人理解是.net为了兼容之前的vb专门建立的命名空间。 我们来看看DateDiff的说明
可惜的是TimeSpan没有提供TimeSpan.Months这样的方法。那么还有没有办法求相差的月份呢?
vb.net还提供了DateDiff()方法。
DateDiff 属于 Microsoft.VisualBasic 命名空间,我个人理解是.net为了兼容之前的vb专门建立的命名空间。
我们来看看DateDiff的说明: DateDiff(DateInterval,DateTime,FirstDayOfWeek,FirstWeekOfYear) 返回一个 Long 值,该值指定两个 Date 值之间的时间间隔数。 使用DateDiff 的代码如下: Sub Main() Dim date1,date2 As DateTime date1 = Date.Now() date2 = New DateTime(2018,5,12,10,13) Dim yearDiff As Integer Dim monthDiff As Integer Dim dayDiff As Integer Dim hourDiff As Integer Dim minuteDiff As Integer Dim secondDiff As Integer yearDiff = DateDiff("yyyy",date1,date2) monthDiff = DateDiff("M",date2) dayDiff = DateDiff("d",date2) hourDiff = DateDiff("H",date2) minuteDiff = DateDiff("n",date2) secondDiff = DateDiff("s",date2) Console.WriteLine("{0} 与 {1}",Format(date1,"yyyy年M月d日 H时m分s秒"),Format(date2,"yyyy年M月d日 H时m分s秒")) Console.WriteLine("相差年份:{0}",yearDiff) Console.WriteLine("相差月份:{0}",monthDiff) Console.WriteLine("相差天数:{0}",dayDiff) Console.WriteLine("相差小时:{0}",hourDiff) Console.WriteLine("相差分钟:{0}",minuteDiff) Console.WriteLine("相差秒钟:{0}",secondDiff) Console.ReadKey() End Sub
运行结果如下:
DateDiff()的第一个参数是一个字符串或者是DateInterval 枚举,包括DateInterval.Year 等。
例如:
minuteDiff = DateDiff("n",date2) 等同于: minuteDiff = DateDiff(DateInterval.Minute,date2)
下表来自于MSDN:
如果在现有日期时间基础上增加或减少求得新的日期时间呢?
DateTime.AddYears、DateTime.AddMonth。。。。
例如以下代码在现在时间基础上增加25小时:
Sub Main() Dim date1,date2 As DateTime date1 = Date.Now() date2 = date1.AddHours(25) Dim date3 As TimeSpan date3 = date2.Subtract(date1) Console.WriteLine("{0} 与 {1}","yyyy年M月d日 H时m分s秒")) Console.WriteLine("相差小时:" & date3.Hours) Console.WriteLine("相差小时:" & date3.TotalHours) Console.ReadKey() End Sub
运行结果如下:
同时,我们也在代码中看出 date3.Hours 和 date3.TotalHours 的不同。
最后附注说明的是,不要以为Add就是增加,如果里面的参数是负数,那么就是减少了,例如上述代码中
date2 = date1.AddHours(49) 修改为: date2 = date1.AddHours(-49)
我们来看看结果:
由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供的参考。 学习更多vb.net知识,请参看 vb.net 教程 目录 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |