我有一个 ASP.NET WEB.API 4 和一个返回以下 json 的控制器:
{ date: "2013-03-14T00:00:00" }
我在客户端(JavaScript)上解析它:
date = new Date(json.date); // json.date being "2013-03-14T00:00:00"
后来我做了一个 POST 并且在正文中日期已更改为
{ date: "2013-03-13T23:00:00.000Z" }
我的猜测是 JavaScript 或浏览器添加了一些时区内容?
由于数据库将日期存储为 int (yyyymmdd),因此我进行了以下转换:
public static int ToInt(DateTime date)
{
return date.Year * 10000 + date.Month * 100 + date.Day;
}
然后得到的 int 休息一天 :(
但是,如果我这样做
date.ToLocalTime()
在调用 ToInt 方法之前,它看起来不错。
我是否正确理解了这一点并且 ToLocalTime() 是一个足够的解决方案,还是我需要花一天时间阅读 .NET 和 JavaScript 中的 UTC 日期?
谢谢!