Googleスプレッドシートに入力された以下のような時間データを、Google Apps Script(GAS)で取得すると、違った形式でしか取得できない問題に遭遇した。

B2セルに入力された「8:00」を以下のGASコードで取得すると。。
function getTime() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getActiveSheet();

  let time = sheet.getRange(2, 2).getValue();
  console.log(time);
}
上記のような形式で取得される

GASではgetValue関数で日付や時間データを取得すると、自動的にDateオブジェクトに変換されるためこのような結果となる。

formatDate関数を使うことで、日付の表示形式を自由に変更することができるので、以下のようにフォーマットすると良い。

time = Utilities.formatDate(time, "JST", "H:mm");

formatDate関数は第一引数にDateオブジェクト、第二引数にタイムゾーン、第三引数にフォーマットを取るため、タイムゾーンに日本標準時を表すJSTを、フォーマットにH:mmを指定する。

先ほどのコードに、フォーマット用のコードを追加して実行した結果がこちら。

取得した時刻データが正しくフォーマットされていることが確認できる。