JavaScriptで、タイムゾーンを考慮しつつ時刻formatする際にdate-fns-tzが便利だったので紹介します。
date-fns-tzは、タイムゾーンを考慮した日時の「やりくり」に関する機能を提供するライブラリです。下のように実装することで、タイムゾーンに合わせた日時をフォーマットできます。
import { formatInTimeZone } from 'date-fns-tz' const currentDate = Date.now() // format by date-fns-tz formatInTimeZone(currentDate, "Asia/Tokyo", "yyyy-MM-dd_HH:mm:ss")
の第2引数にタイムゾーンを文字列で指定、第3引数でどのような形式でフォーマットするかを指定しています。
ちなみに、指定できるタイムゾーンの一覧はこちら、フォーマットにあたっての書式(ISO 8601形式)の一覧はこちらなどから確認できます。