我正在使用Internet Explorer中的ActiveX控件,並需要將日期傳遞給以日期爲參數的ActiveX方法。方法期望日期類型爲VT_DATE,我可以通過在Date對象上使用JScript getVarDate方法生成VT_DATE值。在調用getVarDate之前是否需要將JavaScript日期轉換爲UTC?
在調用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);
我覺得答案很明顯,但我今天沒有平時分配咖啡。如果問題是「愚蠢的」,我會很樂意將它標記爲[愚蠢問題]或[duh] ...... – RunnerRick 2011-03-08 22:58:32
我在[文檔]中看不到任何內容(http://msdn.microsoft.com/en-us /library/4d4x3w61(v=vs.94).aspx),這意味着在調用'myDate.getVarDate()'之前需要調用'myDate.toUTCString()'。你爲什麼懷疑這可能是需要的? – 2011-03-08 23:00:38
@Matt Ball我很確定這不是必需的,但對VT_DATE值不是很熟悉。我假設VT_DATE在某些任意開始日期之後僅將內部日期表示爲tick或milliseconds,因此與時區無關,但我並不積極。 – RunnerRick 2011-03-08 23:04:17