ゆずめも

メモ的なブログです。主に勉強した事について書いてます。

dayjsで時間文字列を特定のタイムゾーンの値としてパースする

google calendarAPIを触っていて特定のタイムゾーンの時間として時間情報をパースする必要があって調べたら、特に情報がなかったのでメモ。

dayjsのtimezoneプラグインを読み込み tz 関数でパースする際にtimezoneを指定する。

day.js.org

import * as dayjs from 'dayjs'
import * as utc from 'dayjs/plugin/utc'
import * as timezone from 'dayjs/plugin/timezone'

dayjs.extend(utc)
dayjs.extend(timezone)

// サーバーの設定で判断する
const d1 = dayjs.tz("2014-06-01 12:00")
console.log(d1.toString()) // => Sun, 01 Jun 2014 03:00:00 GMT

// 時間をニューヨークの時間として解釈する
const d2 = dayjs.tz("2014-06-01 12:00", "America/New_York")
console.log(d2.toString()) // => Sun, 01 Jun 2014 16:00:00 GMT

参考