跨服务器的日期时间不一致

时间:2014-04-05 02:46:48

标签: c# asp.net-mvc json datetime

我有一个如下所示的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()函数为我的&#34; ItemDate&#34;添加了几个小时的偏移量。属性,当我在亚洲服务器上运行此代码时,将添加8小时,所以&#34; 05/04/2014 08:15:19(年/月/日)&#34;将成为&#34;日期(1396685719823)&#34;,这是&#34; Sat Apr 05 2014 16:15:19 GMT + 0800&#34;而不是我想要的时间。

有没有人遇到过这个问题,有没有办法要求JSON()函数不将偏移量添加到我的日期时间值?谢谢!

1 个答案:

答案 0 :(得分:1)

我认为这是服务器位于不同时区的问题。您可以使用DateTime.ToLocalTime()DateTime.ToUniversalTime()进行必要的转换。