我正在尝试验证从 API 端点获取的数据。用户应该能够发送DateTimeOffset. 目前,我正在使用自己的实现JsonConverter来验证DateTimeOffset. 我尝试过多种日期时间格式,但没有一个能像我想要的那样工作。"yyyy-MM-ddTHH:mm:ss.fffK"这适用于:2010-01-01T01:01:01.0002010-01-01T01:01:01.000Z2010-01-01T01:01:01.000+01:00问题是,除了它工作得很好之外,它并没有像上面的示例中那样强制指定时间偏移或 Z。"yyyy-MM-ddTHH:mm:ss.fffzzz"这仅适用于:2010-01-01T01:01:01.000+01:00它不接受 Z 作为时间偏移。是否有一种DateTimeOffset格式可以指定只接受以下内容:2010-01-01T01:01:01.000Z2010-01-01T01:01:01.000+01:00
1 回答
繁华开满天机
TA贡献1816条经验 获得超4个赞
使用“K”格式说明符,该部分的空字符串相当于 a DateTime.Kind
of Unspecified
。
因此,这就是为什么它仍然可以正确解析,但在解析中我们可以通过检查DateTime.KindDateTime
属性来区分差异,如果未指定则拒绝输入。例如:
var date = DateTime.ParseExact("2010-01-01T01:01:01.000", "yyyy-MM-ddTHH:mm:ss.fffK", null);
if (date.Kind == DateTimeKind.Unspecified)
throw new ArgumentException("You must specify a time offset");
- 1 回答
- 0 关注
- 92 浏览
添加回答
举报
0/150
提交
取消