VB.NET从字符串格式比较日期时间

时间:2018-06-29 03:53:14

标签: vb.net

我有以下字符串:28 June 2018 (22:05)

如何将其与当前时间进行比较并得到差异?

例如,如果实际时间是29/06/2018 (05:49)

区别将是:7 hours 44 minutes

所以输入:28 June 2018 (22:05) 输出:7 hours 44 minutes

1 个答案:

答案 0 :(得分:1)

您需要做的第一件事是将字符串转换为有效的DateTime实例。

如果您知道日期将始终采用这种格式,则可以执行以下操作...

Dim mydate = DateTime.ParseExact("28 June 2018 (22:05)", "dd MMMM yyyy (HH:mm)", CultureInfo.InvariantCulture)

https://msdn.microsoft.com/en-us/library/w2sa9yss(v=vs.110).aspx

将字符串解析为有效的DateTime实例后,就可以使用所有常规日期函数进行比较了。

我会先在几分钟之内得到差价,就像这样...

Dim diffminutes = DateDiff(DateInterval.Minute, mydate, Now)

然后创建一个这样的时间跨度...

Dim mytimespan = TimeSpan.FromMinutes(diffminutes)

最后像这样显示小时和分钟的差异...

Response.Write(mytimespan.ToString("hh\:mm"))