我从API获取服务器日期(包括时区)。我想将它转换为日期对象。
当我这样做时
var demo2 = new Date("THU JAN 19 15:37:56 PST 2017"); //It works!
var demo = new Date("FRI JAN 20 07:50:07 SGT 2017"); //Invalid date
为什么呢?如果它是SGT然后它不起作用但它适用于PST
我正在尝试将此日期传递给dateTimePicker
$datetimepicker.datetimepicker({
minDate: new Date(this.serverTime),
defaultDate: new Date(this.serverTime),
});
如何使用Date / MomentJS解决此问题?
答案 0 :(得分:1)
通常,您不应该解析时区缩写。它们充其量不一致,而且往往含糊不清。
例如,CST
应该是......
我需要说更多吗?
答案 1 :(得分:0)
如果您正在使用MomentJS,构造函数建议您可以执行此类操作。
(Date String, Date Format, TimeZone)
您可以在此处找到时区字符串:http://momentjs.com/timezone/
在您的情况下,您正在寻找新加坡:Asia/Singapore
简单示例:
var date = moment.tz("Jay 20th 2017 8PM", "MMM Do YYYY hA", "Asia/Singapore");
以下是构造函数文档的链接:http://momentjs.com/timezone/docs/
答案 2 :(得分:-1)
您是否尝试使用此格式:
new Date('1/20/2017 7:50:07 AM CST');
CST与SGT的时区相同