因此,我正在編寫一個腳本,它需要從Google電子表格中讀取一個時間值並使用它。我試圖運行測試函數來確保提取的值是正確的,但看起來這些值與電子表格中反映的值不同。在Google電子表格上騰出時間
輸入
function testTime(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("TimeSheet");
var time = sheet.getRange(2,1).getValue();
//value on the sheet is 10:00:00 AM
Logger.log(time);
Logger.log(time.toTimeString());
}
輸出
Sat Dec 30 09:30:59 GMT+07:36 1899
09:54:17 GMT+0800 (HKT)
的時間應該是10:00:00而被反射爲9點54分17秒,而不是其是第一奇怪的錯誤。
其次,無論如何,我可以提取實際值「10:00:00 AM」,甚至更簡單的格式「10:00」?
編輯:
我已經找到一種方法來解決第二個問題,並獲得所需格式的時間。但是,與時間還是有一些奇怪的互動。我已經添加了2條線,它的各個輸出
所有的記錄行
Logger.log(Utilities.formatDate(time, "GMT+07:37", "HH:mm"));
Logger.log(Utilities.formatDate(time, "GMT+08:00", "HH:mm"));
Logger.log(time);
Logger.log(time.toTimeString());
輸出
10:00
10:23
Sat Dec 30 10:00:00 GMT+07:36 1899
10:23:18 GMT+0800 (HKT)
在電子表格設置,
區域設置=美國
時間區=(GMT + 08:00)香港
這看起來像是一個時區問題,你是如何得到格林威治時間+7:36的時區?!你能查看文件>電子表格設置中的時區設置以及時間的全部值作爲數字嗎? –
所以我找到了一種獲得所需時間格式的方法。現在真正的問題是時間的正確性。根據電子表格設置,Locale是美國的,時區是(GMT + 08:00)香港。我修改了日誌記錄,它給了我以下輸出。 (新)第一次日誌格式正確:10:23 第二次日誌與上面相同:星期六12月30日10:00:00 GMT + 07:36 1899 第三次日誌同上:10:23:18 GMT + 0800 (HKT) – CHEWWWWWWWWWW
非常有趣,在腳本編輯器中,如果你去文件>項目屬性那裏的時區是什麼?你有任何用戶屬性或腳本屬性設置? –