Calendar

【GAS】Googleカレンダーの予定の開始時刻、終了時刻を取得する

getStartTime – 予定の開始時刻を取得する

getStartTimeメソッドを使うとGoogleカレンダーに登録された予定の開始時刻を取得できます。

取得するのはこの予定です。

コード

const getEventTime = () => {
  // 2024年4月8日を指定
  const targetDate = new Date(2024, 3, 8)

  // 標準カレンダーを取得
  const calendarApp = CalendarApp
  const defaultCalendar = calendarApp.getDefaultCalendar()

  // 2024年4月8日の最初の予定を取得
  const events = defaultCalendar.getEventsForDay(targetDate)
  const event = events[0]

  // 2024年4月8日の最初の予定の開始時刻を取得
  const startTime = event.getStartTime()
  console.log(startTime)
}

実行結果

開始時刻の13時30分が取得できているのでうまくいってますね。

getEndTime – 予定の終了時刻を取得する

予定の終了時刻も同じように取得できます。

const getEventTime = () => {
  // 2024年4月8日を指定
  const targetDate = new Date(2024, 3, 8)

  // 標準カレンダーを取得
  const calendarApp = CalendarApp
  const defaultCalendar = calendarApp.getDefaultCalendar()

  // 2024年4月8日の最初の予定を取得
  const events = defaultCalendar.getEventsForDay(targetDate)
  const event = events[0]

  // 2024年4月8日の最初の予定の開始時刻を取得
  const startTime = event.getStartTime()

  // 2024年4月8日の最初の予定の終了時刻を取得
  const endTime = event.getEndTime()
  console.log(endTime)
}

実行結果

開始時刻、終了時刻の時間と分のみを取得する

開始時刻と終了時刻の取得はできましたが、時間と分のみ取得したい場合もあると思います。

const getEventTime = () => {
  // 2024年4月8日を指定
  const targetDate = new Date(2024, 3, 8)

  // 標準カレンダーを取得
  const calendarApp = CalendarApp
  const defaultCalendar = calendarApp.getDefaultCalendar()

  // 2024年4月8日の最初の予定を取得
  const events = defaultCalendar.getEventsForDay(targetDate)
  const event = events[0]

  // 2024年4月8日の最初の予定の開始時刻を取得
  const startTime = event.getStartTime()

  // 2024年4月8日の最初の予定の終了時刻を取得
  const endTime = event.getEndTime()
  
  // 開始時刻と終了時刻の時間と分を取得 → 13:30と16:00を取得したい
  const startHhMm = startTime.toLocaleString('ja-JP', {hour: 'numeric', minute: 'numeric'})
  const endHhMm = endTime.toLocaleString('ja-JP', {hour: 'numeric', minute: 'numeric'})
  console.log(startHhMm)
  console.log(endHhMm)
}

toLocaleStringメソッドを使って時と分を数値(numeric)で取得しています。

実行結果

toLocaleStringメソッドを使うと国や地域の時刻表現形式で時間の取得ができます。

13時30分、16時00分みたいな形式で取得したい

テンプレートリテラルを使って、いろいろな形式で取得できます。

const getEventTime = () => {
  // 2024年4月8日を指定
  const targetDate = new Date(2024, 3, 8)

  // 標準カレンダーを取得
  const calendarApp = CalendarApp
  const defaultCalendar = calendarApp.getDefaultCalendar()

  // 2024年4月8日の最初の予定を取得
  const events = defaultCalendar.getEventsForDay(targetDate)
  const event = events[0]

  // 2024年4月8日の最初の予定の開始時刻を取得
  const startTime = event.getStartTime()

  // 2024年4月8日の最初の予定の終了時刻を取得
  const endTime = event.getEndTime()
  
  // 開始時刻と終了時刻の時間と分を取得 → 13:30と16:00を取得したい
  const startHhMm = startTime.toLocaleString('ja-JP', {hour: 'numeric', minute: 'numeric'})
  const endHhMm = endTime.toLocaleString('ja-JP', {hour: 'numeric', minute: 'numeric'})

  // 開始時刻と終了時刻の時間と分を取得 → 13時30分と16時00分を取得したい
  const startTimeJpStyle = `${startTime.getHours()}時${startTime.getMinutes()}分`
  const endTimeJpStyle = `${endTime.getHours()}時${endTime.getMinutes().toString().padStart(2, '0')}分`
  console.log(startTimeJpStyle)
  console.log(endTimeJpStyle)
}

実行結果

良い時間ライフを

Copied title and URL