LoginSignup
8
5

More than 5 years have passed since last update.

GoogleAppsScriptで24時間を超える経過時間の取得に困った時の対処法

Posted at

GASで標準時間を超える経過時間の取得や利用

SpreadSheetで勤怠管理などをしていたら月の労働時間が24時間を超えることはざらにありますよね。
でもそれを取得して色々触りたい場合、なかなかうまくいきませんでした。
例えばA1セルに 35:00:00 のように色々と足し合わされて35時間と表示されていたとします。
これを普通に取得しようとすると

time.gas
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('労働時間');
var time = sheet.getRange('A1').getValue();
Logger.log(time);
[18-05-25 00:48:07:869 PDT] Sun Dec 31 11:00:00 GMT+09:00 1899

こんな風に表示されて、24で割ったあまりしか出てきません。

GASは1899年12月30日0時0分0秒が基準時刻となっているようなので、これを引きミリ秒計算します。

time.gas
var baseTime = new Date("Sun Dec 30 00:00:00 GMT+09:00 1899");
Logger.log((tim-baseTime)/1000/60/60);//ミリ秒を時間に換算
[18-05-25 00:48:07:869 PDT] 35.0

時を操るのは難しいなぁ

8
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
5