有沒有人有一個想法,爲什麼這個簡單的代碼不起作用?:設置時間不工作
var formattedSched = new Date(sched).setHours(15);
我只是想一時間在谷歌日曆添加到日曆事件通過Google Apps腳本。我甚至在w3頁面上使用基本相同的樣本來設置小時。 http://www.w3schools.com/jsref/jsref_sethours.asp
但每次我運行該腳本來創建谷歌日曆事件,我得到的是谷歌認爲它是一個數字,而不是一個日期對象的錯誤消息。它沒有setHours(),但與它一起工作正常,谷歌認爲這是一個數字。由於
更新:好吧,我打出了一個測試功能,試圖記錄發生的事情:
function testsetcal() {
var formattedSched = new Date(); Logger.log(formattedSched.setHours(15))
CalendarApp.getDefaultCalendar()
.createEvent('Commo', formattedSched, formattedSched);
}
和樵夫結果沒有調用setHours是:Wed Nov 21 08:12:33 PST 2012
記錄儀結果與調用setHours是:1.35352881266E12
,看起來一點都不像W3頁的示例結果。
更新:仍無法正常工作,並得到相同的結果記錄儀與主變量分離,調用setHours:1.35352881266E12
function testsetcal() {
var formattedSched = new Date();
var withHours = formattedSched.setHours(15);
Logger.log(withHours);
CalendarApp.getDefaultCalendar()
.createEvent('Commo', withHours, withHours);
}
UPDATE:好了哇 - 這是奇怪的。我去我的谷歌日曆刪除所有的測試事件,至少只是我認爲是成功的。後來我發現,有莫特比我想象中有的被設置爲1500 - 然後我又回到了代碼,並發現,調用setHours()在谷歌日曆的外面是這樣的創建事件:
function testsetcal() {
var formattedSched = new Date();
formattedSched.setHours(15);
Logger.log(formattedSched.setHours(15));
CalendarApp.getDefaultCalendar()
.createEvent('Commo', formattedSched, formattedSched);
}
因此,該代碼設置小時至1500,但代碼的那部分是不包括在創建活動。完全令我驚訝,但這似乎是解決方案。
什麼是SCHED?看起來你的Date對象沒有正確構造。我不同意這兩個答案,即有必要將這兩個陳述分開。 – Srik
我剛剛發佈了一個更新的簡化測試代碼 - 相比,W3頁面越來越怪異的結果。如果從變量事務中分離出來,我會感到驚訝,但是要給它一個鏡頭並報告返回 – user1783229
是的,沒有工作 - 嘗試所有不同類型的格式在這裏和那裏,但谷歌仍然認爲結果是一個數字,而不是一個日期對象 - 這應該是如此簡單 – user1783229