dayjsで時間文字列を特定のタイムゾーンの値としてパースする
google calendarのAPIを触っていて特定のタイムゾーンの時間として時間情報をパースする必要があって調べたら、特に情報がなかったのでメモ。
dayjsのtimezoneプラグインを読み込み tz
関数でパースする際にtimezoneを指定する。
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