我正在使用Internet Explorer中的ActiveX控件,需要将日期传递给以日期为参数的ActiveX方法。这些方法期望日期类型为VT_DATE,我可以通过在Date对象上使用JScript getVarDate 方法生成VT_DATE值。
在调用 getVarDate之前,是否需要先将JavaScript日期转换为UTC?
我认为答案是不,但我不是100%肯定而且不知道原因。
示例JavaScript代码,用于说明我在说什么:
var myDate = new Date(); // Gives me a JavaScript Date object.
console.log(myDate.toString()); // Outputs a string representing the date in the local time zone.
console.log(myDate.toUTCString()); // Outputs a string representing the date in UTC.
var myVT_DATE = myDate.getVarDate();
myActiveXControl.someMethodWantingVT_DATE(myVT_DATE);
答案 0 :(得分:1)
如果您的网站有多个机会被用于多个时区,我建议您使用toUTCString()。默认情况下,每个浏览器都会返回本地日期/时间(如您所见)。这可能看起来不是什么大不了...
你深入到这个项目中,突然之间非常重要,你面临重写。
......或更糟......
您的网站已存在数月,您现在有一些需要(例如报告)需要这些日期,并且您意识到您不知道每个日期的创建时区。