我收到一個包含看起來像這樣的日期JSON字符串:2015-07-09T08:38:49-07:00
,其中最後一部分是時區。有沒有一種標準的方式將其轉換爲DateTimeOffset
?轉換日期時間字符串格式:(YYYY-MM-dd'T'hh:MM:SS-ZZZ)
這是我到目前爲止有:
var olu = JsonConvert.DeserializeObject<OneLoginUser>(jToken.ToString(), new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd'T'HH:mm:sszzz" });
這不反序列化任何日期。我一直在使用的時區數據-Z
和hh:mm
試過,但我似乎無法反序列化任何日期。
作爲參考,這是從OneLogin,一個SSO提供。 Here's a link給用戶文檔。注意關於頂部日期的一點。
轉換爲字符串,然後使用DateTimeOffset而不是DateTime http://stackoverflow.com/questions/10293362/c-sharp-string-to-datetime-with-timezone –
爲什麼你在你的格式字符串中有單引號? – Ben
@ C.Knight - 是否可以使用JsonSerializerSetting?我看到DateTimeOffsetConverter,但我不知道如何設置格式。 – joelforsyth