c# - 无法将字符串转换为 DateTimeOffset
问题描述
我正在尝试将以下字符串转换为 DateTimeOffset
20201106 13:09:14.510952 +0000
我正在使用以下格式来尝试转换它
DateTimeOffset dtofResult = new DateTimeOffset();
DateTimeOffset.TryParseExact("20201106 13:09:14.510952 +0000", @"yyyyMMdd HH\:mm\:ss\FFFFFF zzz\s", CultureInfo.InvariantCulture, DateTimeStyles.None, out dtofResult);
这会一直返回我的默认值,而不是转换后的字符串。
我不确定这是格式问题还是文化变体问题?
将不胜感激在这个问题上的任何帮助!
解决方案
您的输入字符串和格式字符串之间有两件事不匹配。
第一个不匹配是一个简单的错字。和.
之间缺少格式字符串。结果是你有一个文字字符,你的输入没有。要解决此问题,请在和之间插入。ss
FFFFFF
\F
F
.
\
F
不过,您实际上并不需要转义该点,因为它不会被解释为任何特殊的东西。它不会受到伤害,但也不会为您增加任何价值。您可以删除反斜杠。
第二个不匹配是\s
在末尾。这样做是尝试匹配s
输入末尾的文字字符,而您的输入也没有。从格式字符串的末尾删除\s
。
您试图在那里实现的目标尚不清楚。我最好的猜测是您想忽略尾随空格,因为它看起来像空格字符的正则表达式模式。如果这是您想要的,请通过DateTimeStyles.AllowTrailingWhite
而不是DateTimeStyles.None
.
应用这些更正后,格式字符串变为:
@"yyyyMMdd HH\:mm\:ss.FFFFFF zzz"
推荐阅读
- javascript - 身份验证正确时,jQuery .ajax() 返回 401
- c - 即使在分配之后,结构指针仍然为 NULL
- node.js - Mongodb $match 在索引是已知字段的对象字段上
- python - Tkinter:无法使注册功能正常工作
- python-3.x - 输入维度 Tensorflow v1.8 ConvLSTMCell
- c++ - 以 TIFF 格式保存一堆图像
- c# - 如何取消设置 Delta 对象的属性
- batch-file - 批处理 - 从路径键入文本文件
- c - 在C中将双指针作为参数传递
- ios - 提交给 API 的 iOS JSON 有效负载应该是什么样的?