我正在嘗試驗證從 API 端點獲取的數(shù)據(jù)。用戶應該能夠發(fā)送DateTimeOffset. 目前,我正在使用自己的實現(xiàn)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格式可以指定只接受以下內(nèi)容:2010-01-01T01:01:01.000Z2010-01-01T01:01:01.000+01:00
1 回答

繁華開滿天機
TA貢獻1816條經(jīng)驗 獲得超4個贊
使用“K”格式說明符,該部分的空字符串相當于 a?DateTime.Kind
of?Unspecified
。
因此,這就是為什么它仍然可以正確解析,但在解析中我們可以通過檢查DateTime.KindDateTime
屬性來區(qū)分差異,如果未指定則拒絕輸入。例如:
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 關(guān)注
- 136 瀏覽
添加回答
舉報
0/150
提交
取消