我搜索了四周,我真的不知道爲什麼會發生這種情況。JSON日期爲asp.net日期時間在運行時更改
我的大多數應用程序中使用GMT格林尼治標準時間的設備運行的時間,但我只是跨越了服務器在新加坡,所以時間是8小時提前。我看到從JSON解析datetime對象一些奇怪的行爲:
我的應用程序收到一個JSON(ISO 8601)日期如下:
LASTSYNC = 2013-01-10T11:05:38.822Z
我正在使用一個簡單的.asmx web服務,它使用內置的JSON序列化程序爲.Net 3.5,自動分析的DateTime對象返回的日期比JSON所說的要早8小時。這裏的功能:
<WebMethod()> _
<ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _
Public Function SyncFlatTable(ByVal tableName As String, ByVal LastSync As DateTime)
Return WebServiceJSON.SyncFlatTable(tableName, LastSync)
End Function
正如你可以看到LASTSYNC的日期時間參數的值是8小時前進:
奇怪的是,如果我回到現在(),從Web服務輸出的JSON是:
newLastSend = /日期(1357817197087)/
其中使用時間戳的日期在線訂購ne轉換器不再提前8小時。
這是IIS的錯嗎?我看不到任何其他文化設置其他一切都是中性的,爲什麼它會改變日期?我該如何阻止它,還是必須接受我給予的東西,並將日期調整到不變的文化日期?
希望我下面的評論將幫助.. – Markive