我有一個gsheet下面的代碼 -時間算術計算錯誤
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var task = ss.getRange(1,2).getValue(); //ss.getRange("A2").getValue();
var date = new Date();
function onEdit(e) {
if (e.range.getA1Notation() == 'B2') {
if (/^\w+$/.test(e.value)) {
// console.log(e.value);
eval(e.value)();
e.range.clear();
}
}
}
function Start() {
var last = ss.getLastRow();
ss.getRange(last+1, 1).setValue(task);
ss.getRange(last+1, 2).setValue(date);
}
function End() {
var last = ss.getLastRow();
ss.getRange(last, 3).setValue(date);
var endTime = ss.getRange(last, 3).getValue();
var startTime = ss.getRange(last, 2).getValue();
ss.getRange(last, 4).setValue(endTime-startTime);
}
每當在B2單元格進行編輯時,它運行的功能驗證的人物之一 - 無論是開始還是結束。
如果「開始」,它把在首列的單元格B1(任務名稱的驗證列表)的值,和當前時間在MM/DD/YYYY HH:MM:SS格式。
如果'結束',其當前時間以第三列中的MM/DD/YYYY HH:MM:SS格式顯示,並嘗試將第四個「開始」時間和「結束」時間之間的差值列或計算。
這裏的錯誤(或我缺乏瞭解如何gsheets作品)
的代碼產生如下:
Task| Start | End | Duration
DOS | 8/2/2017 16:44:28 | 8/2/2017 16:44:31 | 2,418.00
問題 - 什麼是2418?總持續時間應該是2秒,或者00:00:02。鑑於上述代碼,它是一個代碼問題還是單元格問題的格式?
當我把在D2單元格= C2-B2,它只要列被格式化爲一個時間正常工作。但我寧願不這樣做,因爲插入或開始/結束時間取決於最後一行 - 所以如果我將公式複製/粘貼到gsheet底部,數據將不會連續。