转换无效的日期时间
本文关键字:时间 日期 无效 转换 | 更新日期: 2023-09-27 18:05:34
我需要将DateTime从UTC转换为本地时间,为此,我在使用TimeZoneInfo IsInValidTime方法转换为本地时间之前验证了日期时间。
我得到无效的日期时间为一个特定的日期时间,如何将此日期转换为有效的一个?
下面是示例代码:_timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
var dateTime = "10/03/2013 2:12:00 AM";
DateTime universalFormatDateTime = Convert.ToDateTime(dateTime).GetUniversalFormatDateTime();
if (_timeZoneInfo.IsInvalidTime(universalFormatDateTime)) Console.Write("Invalid DateTime'n");
您使用的是什么框架?
tuniversaltime()不是正确的选择吗?
DateTime universalFormatDateTime = Convert.ToDateTime(dateTime).ToUniversalTime()
我猜这就是你想要达到的效果:
_timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
var dateTime = "10/03/2013 2:12:00 AM";
DateTime universalFormatDateTime = Convert
.ToDateTime(dateTime, new CultureInfo("en-GB"))
.ToUniversalTime();
if (_timeZoneInfo.IsInvalidTime(universalFormatDateTime))
Console.WriteLine("Invalid DateTime");
else
Console.WriteLine("Valid DateTime");
你可以看看Convert。
您应该指定日期时间的DateTimeKind。在执行验证之前添加以下内容:
universalFormatDateTime = DateTime
.SpecifyKind(universalFormatDateTime,DateTimeKind.Local);