2016-03-08 23 views
0

我想將我的JSON格式化日期轉換爲C#DateTime變量。試圖將它與Convert.ToDateTime將JSON日期轉換爲C#datetime變量

轉換( 「2016-01-15T11:44:52-07:00」)

是給我這個輸出

「1/16/2016上午12點14分52秒」 enter image description here

我無法找出它是否是一個正確的輸出或不是因爲我的輸入日期2016年1月15日,但輸出它是2016年1月16日。

如何將JSON日期值轉換爲C#日期值?

回答

6

看起來您當前的時區爲UTC +05:30,因此Convert.ToDateTime方法會將這些值添加到結果中,並生成1/16/2016 00:14:52作爲值。

由於您的字符串有一個偏移量部分,我將它解析爲DateTimeOffset而不是Datetime

var dto = DateTimeOffset.Parse("2016-01-15T11:44:52-07:00"); 

這將產生{15.01.2016 11:44:52 -07:00}DateTimeOffset

enter image description here

不過既然你說這是使用JSON相關,這項技術應該有一些方法來分析它。最好是使用這些方法,但我不熟悉JSON。

0

你似乎有時區的問題。嘗試解析DateTimeStyles.RoundtripKind

using System.Globalization; 

var s1 = "2016-01-15T11:44:52-07:00"; 
var date = DateTime.Parse(s1, CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind);