【发布时间】:2018-02-03 19:13:11
【问题描述】:
我有一个对控制器的 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
{
}
为什么会出现差异以及如何解决?
编辑 1: 使用 .toISOstring 也不起作用。
var EndOn = new Date($('#TBEndDateTime').val().trim()).toISOString(); //EndDate 2017-08-26T16:54:00.000Z
【问题讨论】:
-
你不能只使用 UTC 中的日期然后进行正确的转换吗?
-
new Date(val).toISOString() 可能会有所帮助。
-
@axel.michel ISOstring() 不会再次将其转换为 GMT 吗?
标签: c# jquery ajax asp.net-mvc date