是否可以像这样使用军事时间和日期的格式进行比较HH.MM mm/dd/yyyy
。
例如:
1
08.25 06/10/2014 > 23.18 06/09/2014
结果为 True,因为第 10 天大于第 09 天
2
23.25 06/10/2014 > 23.30 06/10/2014
结果为 false,因为 30 分钟大于 25 分钟
3
24.25 06/10/2014 > 1.30 06/10/2014
结果为真,因为 24 小时大于 1 小时
优先级是年 -> 月 -> 日 -> 小时 -> 分钟。
似乎你可以有非标准的时间,比如24.25
。
然后您可以使用以下策略 - 提取日期、添加时间、比较。
Public Shared Function ToDateTime(ByVal value As String) As DateTime
Dim m As Match = Regex.Match(value, "^(?<hours>\d{1,2})\.(?<minutes>\d{2}) (?<date>\d{2}/\d{2}/\d{4})$")
If Not m.Success Then
Throw New ArgumentException("value")
End If
Dim dateOnly As DateTime = DateTime.ParseExact(m.Groups.Item("date").Value, "dd\/MM\/yyyy", CultureInfo.InvariantCulture)
Dim hours As Integer = Integer.Parse(m.Groups.Item("hours").Value)
Dim minutes As Integer = Integer.Parse(m.Groups.Item("minutes").Value)
Return dateOnly.AddHours(hours).AddMinutes(minutes)
End Function
Usage:
Console.WriteLine(ToDateTime("08.25 06/10/2014") > ToDateTime("23.18 06/09/2014"))
Console.WriteLine(ToDateTime("23.25 06/10/2014") > ToDateTime("23.30 06/10/2014"))
Console.WriteLine(ToDateTime("24.25 06/10/2014") > ToDateTime("1.30 06/10/2014"))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)