Ich habe einen AJAX-Aufruf an den Controller und ich verwende JSON.stringify, um die Daten an die Controller-Aktion zu senden. Mein Problem ist das Datumsfeld, das auf der Client-Seite EDT (meine lokale Zeit) ist, wird in GMT auf der Serverseite konvertiert. Gibt es etwas, das ich tun sollte, damit es im EDT bleibt?Datumsfeldwert wechselt von Clientseite zu Serverseite
Dies ist mein Code:
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) {
}
});
Und auf der Serverseite
public JsonResult EndFunction(FunctionEnd endFunction) //EndDate 2017-08-26T16:54:00.000Z
{
}
Warum gibt es eine Diskrepanz und wie sie gelöst werden?
EDIT 1: Die Verwendung von .toISoString funktioniert auch nicht.
var EndOn = new Date($('#TBEndDateTime').val().trim()).toISOString(); //EndDate 2017-08-26T16:54:00.000Z
Können Sie nicht einfach die Daten in UTC verwenden und dann die richtigen Konvertierungen vornehmen? –
new Date (val) .toISOString() könnte hilfreich sein. –
@ axel.michel Konvertiert ISOstring() nicht wieder in GMT? – Testing123