不同计算机上的日期时间比较

时间:2015-08-18 09:57:15

标签: .net vb.net datetime utc data-conversion

我有配置文件,我可以用以下格式设置和存储时间:

06:00:00 AM or 01:00:15 PM

然后我使用这个时间(loadconfig.GetTimeFromConfigThen)如下所示与我的服务中每秒运行的当前时间进行比较:

  Dim Time As String = DateTime.Now.ToString("hh:mm:ss tt")
            If Time = loadconfig.GetTimeFromConfigThen
..

问题是当我进入其他服务器时,在区域设置中日期时间的格式不同,即使达到例如06:00:00 AM,它也永远不会进入我的if循环,因为我正在比较字符串和其他服务器时间变量显示为:" 6:00:00 am"。

我的问题是如何更改该协议,无论在服务器上安装什么格式,它都能正确地比较从配置到pc时间的时间?我想将此格式保存在conmfig文件中,如上所述:06:00:00 AM or 01:00:15 PM

1 个答案:

答案 0 :(得分:0)

您应该以明确的方式存储日期值,并使用DateTime变量来执行比较而不是字符串。

我建议你使用Round Trip format specifier

:info

在我的机器上输出:

.cabal-sandbox/share/doc/<plattform>/index.html

因为我比DateTime.Now.ToString("o")

提前1小时

要阅读此内容,您可以使用

2015-08-18T11:09:23.0918585+01:00

使用当前区域设置正确保存和调整时区信息。

然后,您可以使用TimeSpan解决此时的差异:

UTC