我有一个像下面的MVC函数,它将序列化的JSON对象返回给客户端:
public ActionResult ReportSalesHeaderListRest(ReportSalesRestViewModel viewModel, int? shop)
{
List<ReportGeneralDetailDto> rptSalesHeaderList = (
from txSalesHeader in completedTxSalesHeaderList.OrderBy(x => x.TxCode)
select new ReportGeneralDetailDto
{
ItemDate = txSalesHeader.CashierDatetime,
ItemCode = txSalesHeader.TxCode,
ItemValue = txSalesHeader.AmountTotal
})
.ToList();
viewModel.RptGeneralDetailList = rptSalesHeaderList;
return Json(viewModel, JsonRequestBehavior.AllowGet);
}
问题是,JSON() 函数在我的"ItemDate"属性中添加了一些小时偏移量,当我在亚洲服务器上运行此代码时,将向其添加 8 小时,因此"05/04/2014 08:15:19 (dd/mm/yyyy)"将变为"Date(1396685719823)",即"星期六 Apr 05 2014 16:15:19 GMT+0800"而不是我想要的时间。
有没有人遇到过这个问题,有没有办法要求 JSON() 函数不将偏移量添加到我的日期时间值中?谢谢!
我认为这是服务器位于不同时区的问题。您可以使用DateTime.ToLocalTime()
和DateTime.ToUniversalTime()
进行必要的转换。