應用程序在本地主機上運行。服務器比客戶端早一個小時!爲什麼本地主機上的客戶端和服務器之間存在時差
客戶端發送時間:Sat Apr 25 2015 00:00:00 GMT-0400 (Eastern Daylight Time)
請求被髮送:dateOfArrival: "2015-04-25T04:00:00.000Z"
服務器接收時間:{4/24/2015 11:00:00 PM}
爲什麼與我該如何處理它有一小時的差異?我猜可能是夏令時與標準時間有關。
當我嘗試此代碼:
string dateStr = "2015-04-25T04:00:00.000Z";
var myDate = DateTime.Parse(dateStr); // it gives me myDate = {4/25/2015 12:00:00 AM}
其實我的時間只有一天感興趣的部分。在我的分貝,我把它作爲日期類型。但由於這個時間差異,我的日子前一天。
我試過各種方式來處理問題,但我完全失去了在日期時間轉換世界!即使我在本地主機應用程序丟失,我無法想象在活服務器上會發生什麼。
我覺得this Q&A也提到類似的問題,但如果它很重要,我不能弄明白 :
我的時區:東部時區(UTC-05:00)
關於Web API的OData JSON序列,from this post我可以說,這是其他然後this one
這裏是我的服務器代碼:
// PATCH: odata/IncomingStudents(5)
[AcceptVerbs("PATCH", "MERGE")]
public async Task<IHttpActionResult> Patch([FromODataUri] int key, Delta<IncomingStudent> patch)
{
Validate(patch.GetEntity());
var dateOfArrival = patch.GetEntity().DateOfArrival
...
}
客戶端是angularjs發送http修補請求