【发布时间】:2013-08-12 12:22:46
【问题描述】:
假设我有两个日期:
现在日期:#8/10/2013 10:53:46 PM#
第二个日期是文件创建日期:
#7/10/2011 9:57:58 PM#
我想做类似的事情:Date.Now - FileDate。
这是我的代码:
Dim ddd As TimeSpan = Date.Now - SecondDate
时间跨度中没有“年份”属性。
(Year 属性应该是 2 2013 - 2011 = 2 ,但是有一个 days 属性 - 但我必须得到年/秒和月/秒)
更新:
谢谢大家,但我创建了一个函数:
Public Class Timee
Private _Days As Integer
Public Property Days() As Integer
Get
Return _Days
End Get
Set(ByVal value As Integer)
_Days = value
End Set
End Property
Private _Months As Integer
Public Property Months() As Integer
Get
Return _Months
End Get
Set(ByVal value As Integer)
_Months = value
End Set
End Property
Private _Years As Integer
Public Property Years() As Integer
Get
Return _Years
End Get
Set(ByVal value As Integer)
_Years = value
End Set
End Property
End Class
Public Function GetTimeBetween(ByVal datee As Date, ByVal datee2 As Date) As Timee
Dim tt As TimeSpan = datee - datee2
Dim dd11 As Integer = tt.Days
Dim bb1 As Integer
Dim Month As Integer
Dim Years1 As Integer
Do Until dd11 <= 0
bb1 = dd11
dd11 = dd11 - 365
Years1 = Years1 + 1
Loop
Years1 = Years1 - 1
Dim Dayss As Integer
Do Until bb1 <= 0
Dayss = bb1
bb1 = bb1 - 30
Month = Month + 1
Loop
Dim tt1 As New Timee
tt1.Days = Dayss
tt1.Months = Month
IF Years1 < 0 Then
Years1 = 0
End IF
tt1.Years = Years1
Return tt1
End Function
希望它对某人有所帮助。
【问题讨论】:
-
如果没有约会,一年有多长?这是一个毫无意义的衡量标准,根据定义不能准确。与月份相同。
-
请确定 365 天是否为一年或更短,超过了可以回答的范围。
-
根据问题,您希望 31-12-2012 和 1-1-2013 之间的差异为 -30 天、-11 个月、+1 年。那看起来不对。你确定要这样而不是仅仅 +1 天吗?
-
看所描述的问题,我会说一年的准确性是过度思考。如果要查看文件的年龄,粗略的几年指南就足够了。 (显然有很多场景也需要高精度)
-
您可以完全忽略 TimeSpan 并计算两个日期的差异:techbrij.com/…