很努力給定的總持續時間的分割後拿到propper持續時間值。谷歌Apps腳本我司期限
下面是函數的一個例子。這是實際功能的縮寫版本。在實際函數中,我循環遍歷一個範圍,並將每個行持續時間(單元格設置爲格式Time:h:mm:ss)合計到totDur中。我從較大的函數中獲取了這個值,並明確地爲此示例設置了值。令人困惑的是,這種方法在同一個函數中大約25次其他的持續時間除法運算中工作正常,但不是這個。我有一種感覺,它與數據類型或相關的東西有關。
function myFunction() {
var totDur=new Date();
var totRev=137;
var totCtr=82
totDur.setUTCHours(0,0,0,0);
totDur=-301170516818000;
Logger.log('TOT DUR:'+totDur)
var nTime = new Date();
nTime.setUTCHours(0,0,0,0);
var diffGm=totDur-nTime;
var diffRev=totDur-nTime;
var divGm=diffGm/totCtr;
var divRev=diffRev/totRev;
Logger.log('TOT DUR: '+Utilities.formatDate(new Date(totDur), 'UTC', 'HH:mm:ss'))
Logger.log('BY REV: '+Utilities.formatDate(new Date(diffRev), 'UTC', 'HH:mm:ss')+'/'+totCtr+'='+Utilities.formatDate(new Date(divRev), 'UTC', 'HH:mm:ss'))
Logger.log('BY GM: '+Utilities.formatDate(new Date(diffGm), 'UTC', 'HH:mm:ss')+'/'+totRev+'='+Utilities.formatDate(new Date(divGm), 'UTC', 'HH:mm:ss'))
}
下面是所得日誌輸出:
[17-01-18 10:20:33:442 MST] TOT DUR UNFORMATTED:-301170516818000
[17- 10月1日至18日:20:33:443 MST] TOT DUR FORMATTED:3點06分22秒
[17-01-18 10:20:33:444 MST] BY REV:03:06:82分之22= 23 :50:50
[17-01-18 10:20:33:445 MST] BY GM:03:06:137分之22= 01:12:31
TOT DUR值是正確的,但其他兩個都沒有。我假設我正在進行不正當的劃分。顯然3小時6分22秒除以82不是23小時。
日期只是自1970年以來,頂部一些奇特的方法毫秒,你真的需要使用日期呢?我寧願嘗試解析從電子表格中獲取時間戳的持續時間,然後在計算後將其解析回來。 –
感謝您的回覆。你的評論讓我重新思考這個過程。我最終將Value轉換爲毫秒並對其進行分割。然後重新格式化爲HH:mm:ss。現在,減少代碼和值的方法都是正確的。謝謝 – user3692874