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

VB.NET从字符串格式比较日期时间,vb.net,Vb.net,我有这个字符串:2018年6月28日(22:05) 如何将其与当前时间进行比较并得出差异 例如,如果实际时间为2018年6月29日(05:49) 差别将是:7小时44分钟 因此输入:2018年6月28日(22:05) 输出:7小时44分钟您需要做的第一件事是将字符串转换为有效的DateTime实例 如果您知道您的日期将始终使用此格式,您可以执行以下操作 Dim mydate = DateTime.ParseExact("28 June 2018 (22:05)", "dd MMMM yyyy (

我有这个字符串:
2018年6月28日(22:05)

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

例如,如果实际时间为2018年6月29日(05:49)

差别将是:
7小时44分钟

因此输入:
2018年6月28日(22:05)

输出:
7小时44分钟

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

如果您知道您的日期将始终使用此格式,您可以执行以下操作

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

一旦将字符串解析为有效的DateTime实例,就可以使用所有普通的date函数进行比较

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

Dim diffminutes = DateDiff(DateInterval.Minute, mydate, Now)
然后像这样创建一个时间跨度

Dim mytimespan = TimeSpan.FromMinutes(diffminutes)
Response.Write(mytimespan.ToString("hh\:mm"))
最后以小时和分钟为单位显示差异,如下所示

Dim mytimespan = TimeSpan.FromMinutes(diffminutes)
Response.Write(mytimespan.ToString("hh\:mm"))

获得差异并不是一种比较。当你从一个数字中减去另一个数字时,你是在比较它们吗?比较是检验相等性或相对大小,即小于或大于。减法只是减法。请注意,如果您从另一个日期中减去一个日期,并且希望得到的
TimeSpan
为正,而不管哪个日期大于另一个日期,请调用该
TimeSpan
Duration
方法。它基本上与数学相同。Abs是数字的缩写。要知道它是负数还是正数,你没有比较?我想你是的。你认为持续时间法是如何工作的?我在测试一个日期和另一个日期