繁体   English   中英

将结果字符串日期时间转换为日期时间值

[英]convert resulting string datetime to dateTime value

我正在通过 xml 获取日期时间值,例如:

string time = "20150605020247+0000"

我想转换为日期时间值。 我尝试了DateTime.ParseParseExactConvert.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM