【问题标题】:Ajax post javascript date as UTC OR server TimeAjax 将 javascript 日期发布为 UTC 或服务器时间
【发布时间】:2013-02-27 03:14:30
【问题描述】:

我正在尝试将创建的日期发布到 ASP.Net MVC 控制器,而不用序列化程序修改日期。我正在寻找某种在客户端上执行此操作的方法。

日期构造如下:

var priceDate = new Date(name.split("-")[1], name.split("-")[0]-1, 1);

日期有效,问题是序列化程序正在添加我不想要的时区偏移量。 javascript 日期应该是 UTC,但这似乎不可能。

这个问题在各地都有不同的表达方式,各种解决方案似乎都太过分了。是否可以将 javascript 日期设为 UTC 或没有来自客户端的时区信息?

【问题讨论】:

  • 这看起来很糟糕,但如果不是约会呢?如果它在内容中被更改并被视为字符串怎么办?
  • Date.UTC() 另见 Date.getUTCMonth(),yeatr time
  • @ArunKillu Date.UTC() 返回一个数字而不是日期。我的具体问题是我希望继续发送 js 日期对象,而不是切换到其他类型。如果我切换到另一种类型,那么有很多解决方案。我可以将字符串或日期部分用作整数等。
  • @DaveA 这是解决大局问题的方法。但我特意在寻找一种方法来传递没有时区信息的 js 日期对象。我现在明白这是不可能的。跨度>

标签: javascript asp.net-mvc json datetime utc


【解决方案1】:

toISOString() 函数以标准化格式返回日期,并且始终使用零时区。

服务器接受本地区域中的日期,因此您需要执行下一步date.ToUniversalTime()

所以 javascript date.toISOString() 等于 c# date.ToUniversalTime()

【讨论】:

    猜你喜欢
    • 2020-12-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-04
    • 2014-06-13
    • 2015-06-14
    • 2016-06-17
    • 1970-01-01
    • 2012-01-30
    相关资源
    最近更新 更多