コントローラへのAJAX呼び出しがあり、JSON.stringifyを使用してコントローラアクションにデータを送信しています。私の問題は、クライアント側のEDT(私の現地時間)がサーバー側のGMTに変換されている日付フィールドです。 EDTに残るために私が何をすべきか日付フィールド値がクライアント側からサーバー側に変更
これは私のコードです:
var EndDate= new Date($('#TBEndDateTime').val().trim()); //EndDate= Sat Aug 26 2017 12:54:00 GMT-0400 (Eastern Daylight Time) (Console value while debugging)
var objEnd = JSON.stringify({
EndDate: EndDate
})
$.ajax({
type: "POST",
url: "/Close/EndFunction",
contentType: 'application/json',
dataType: "json",
data: objEnd,
cache: false,
success: function (result) {
}
});
とサーバ側で
public JsonResult EndFunction(FunctionEnd endFunction) //EndDate 2017-08-26T16:54:00.000Z
{
}
はなぜ食い違いがあり、どのようにそれを解決することができますか?
EDIT 1: .toISOstringを使用しても動作しません。
var EndOn = new Date($('#TBEndDateTime').val().trim()).toISOString(); //EndDate 2017-08-26T16:54:00.000Z
あなたはUTCの日付を使用して適切な変換を行うことはできませんか? –
新しい日付(val).toISOString()が役立つかもしれません。 –
@ axel.michel ISOstring()をGMTに再度変換しませんか? – Testing123