我有一个示例日期/时间字符串,我需要将其转换为 datetimeoffset。
有一个巨大的不一致 - 如果一个月中的某天 < 10,则 Month 和 Day 之间有两个空格,否则只有一个空格。
例如:'Tue Dec 4 22:39:38 UTC 2018'
和'Tue Dec 14 22:39:38 UTC 2018'
我目前使用DateTimeOffset.ParseExact(dateTime, "ddd MMM dd HH:mm:ss UTC yyyy", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal)
which解析它,对于日期 < 10 的日期失败并出现错误:
FormatException: String 'Tue Dec 4 22:52:42 UTC 2018' was not recognized as a valid DateTime.
我知道我可以用一个空格搜索和替换双空格字符,但是有没有更优雅的方法来使用格式字符串来实现这一点?
这就是DateTimeStyles.Allow*
标志的用途:它们指示解析器忽略日期字符串中的空格。
在您的情况下,字符串以缩写的工作日名称开头,因此该标志至少足以在一位数字的情况下忽略额外的空间
DateTimeStyles.AllowInnerWhite
此处记录了此和相关标志:https : //docs.microsoft.com/en-us/dotnet/api/system.globalization.datetimestyles?view=netframework-4.7.2
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句