我有配置文件,我可以用以下格式设置和存储时间:
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
答案 0 :(得分:0)
您应该以明确的方式存储日期值,并使用DateTime变量来执行比较而不是字符串。
我建议你使用Round Trip format specifier:
:info
在我的机器上输出:
.cabal-sandbox/share/doc/<plattform>/index.html
因为我比DateTime.Now.ToString("o")
要阅读此内容,您可以使用
2015-08-18T11:09:23.0918585+01:00
使用当前区域设置正确保存和调整时区信息。
然后,您可以使用TimeSpan解决此时的差异:
UTC