使用JavaScriptSerializer时的日期格式问题().Serialize()

时间:2013-08-24 09:21:52

标签: jquery asp.net-mvc datetime javascriptserializer

我会尽力解释现在发生的事情。

我有一个从IST time. (UTC +05:30)

运行的MVC应用程序

在DB(MySQL)中,我的日期格式为2013-10-10 00:00:00

在发送到View之前,我将其转换为字符串

dt.ToShortDateString()

所以我只得到2013-10-10

但是当我在timezone (UTC) Dublin时,它会返回日期'9'而非“10”。

我使用以下代码序列化为JSON格式。请告诉我如何在没有时区问题的情况下获得与DB相同的日期。

var newSerializedDates = '@Html.Raw(new JavaScriptSerializer().Serialize(Model.SelectedDate))';

然后是浏览器格式:

 var newSerializedDates = '@Html.Raw(new JavaScriptSerializer().Serialize(Model.SelectedDate))';

if (newSerializedDates != 'null') {
var jsonDates = JSON.parse(serializedDates);

var selectArrayFromDB = [];

for (var i = 0; i < jsonDates.length; i++) {
var dateSelectedFormat = new Date(parseInt(jsonDates[i].substr(6)));
}

1 个答案:

答案 0 :(得分:0)

我们应该在将日期格式发送到函数之前将其解析为所需的格式。这不是发送DateTime,而是更好地更改为所需的格式然后将其发送到所述函数。这解决了我的问题。