[英]convert resulting string datetime to dateTime value
我正在通过 xml 获取日期时间值,例如:
string time = "20150605020247+0000"
我想转换为日期时间值。 我尝试了DateTime.Parse
、 ParseExact
、 Convert.ToDateTime
。 它不起作用,它返回错误:
字符串未被识别为有效的日期时间
您应该能够使用DateTime.ParseExact
,因为您知道字符串的确切格式。 如果我们假设它是年、月、日、小时、分钟、秒和偏移量,那么您可以执行以下操作:
var result = DateTime.ParseExact("20150605020247+0000", "yyyyMMddHHmmsszzz",
CultureInfo.InvariantCulture);
你应该像这样使用DateTime.ParseExact
DateTime theTime = DateTime.ParseExact(time, "ddMMyyyyHHmmss+ffff,CultureInfo.InvariantCulture);
您需要在 ParseExact 方法中使用精确格式说明符。
DateTime.ParseExact("20150605020247+0000", "yyyyMMddHHmmsszzz", System.Globalization.CultureInfo.InvariantCulture);
小提琴: https : //dotnetfiddle.net/cQJ9hN
编辑:
请检查 .NET 世界中使用的标准日期时间格式: https : //docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings并检查源您的数据字符串日期究竟是如何产生的。 但是,很可能字符串的 '+####' 部分是本地日期 UTC offset ,而不是时间的小数部分(如其他答案所建议的那样)。 因此,使用“yyyyMMddhhmmssffff”解析日期会产生错误的结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.