JavaScript日付をUTCに変換
JavaScriptで日付をUTCに変換する方法
JavaScriptで日付オブジェクトをUTCに変換するには、主に2つの方法があります。
getUTCMilliseconds()、getUTCSeconds()、getUTCMinutes()、getUTCHours()、getUTCDate()、getUTCMonth()、getUTCFullYear()メソッドを使用する
これらのメソッドは、日付オブジェクトの各コンポーネントをUTCタイムゾーンで取得します。これらの値を使用して、新しい日付オブジェクトを作成することができます。
const date = new Date();
const utcMilliseconds = date.getUTCMilliseconds();
const utcSeconds = date.getUTCSeconds();
const utcMinutes = date.getUTCMinutes();
const utcHours = date.getUTCHours();
const utcDate = date.getUTCDate();
const utcMonth = date.getUTCMonth();
const utcYear = date.getUTCFullYear();
const utcDateObject = new Date(utcYear, utcMonth, utcDate, utcHours, utcMinutes, utcSeconds, utcMilliseconds);
toISOString()メソッドを使用する
このメソッドは、日付オブジェクトをISO 8601形式のUTC文字列に変換します。この文字列は、新しい日付オブジェクトを作成するために使用することができます。
const date = new Date();
const utcDateString = date.toISOString();
const utcDateObject = new Date(utcDateString);
注意
- UTCタイムゾーンは、世界標準時 (Universal Time Coordinated) の略です。
toISOString()
メソッドは、ブラウザのサポート状況によっては、タイムゾーンオフセットを含む文字列を返すことがあります。この場合、タイムゾーンオフセットを削除してから、新しい日付オブジェクトを作成する必要があります。
const date = new Date();
const utcMilliseconds = date.getUTCMilliseconds();
const utcSeconds = date.getUTCSeconds();
const utcMinutes = date.getUTCMinutes();
const utcHours = date.getUTCHours();
const utcDate = date.getUTCDate();
const utcMonth = date.getUTCMonth();
const utcYear = date.getUTCFullYear();
const utcDateObject = new Date(utcYear, utcMonth, utcDate, utcHours, utcMinutes, utcSeconds, utcMilliseconds);
console.log(utcDateObject);
このコードは、現在のローカル時間を取得し、各コンポーネントをUTCタイムゾーンに変換して、新しい日付オブジェクトを作成します。最後に、新しい日付オブジェクトをコンソールに出力します。
const date = new Date();
const utcDateString = date.toISOString();
const utcDateObject = new Date(utcDateString);
console.log(utcDateObject);
const date = new Date();
const utcDateString = date.toLocaleString('en-US', { timeZone: 'UTC' });
const utcDateObject = new Date(utcDateString);
Date.UTC()メソッドを使用する
このメソッドは、指定された年、月、日、時、分、秒、ミリ秒からUTCタイムスタンプを作成します。このタイムスタンプを使用して、新しい日付オブジェクトを作成することができます。
const date = new Date();
const utcTimestamp = Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.get Milliseconds());
const utcDateObject = new Date(utcTimestamp);
ライブラリを使用する
Moment.jsやLuxonなどのライブラリを使用すると、日付の操作を簡素化することができます。これらのライブラリは、日付の変換やフォーマットなどの機能を提供しています。
// Moment.jsを使用する場合
const moment = require('moment-timezone');
const date = new Date();
const utcDateObject = moment(date).utc().toDate();
// Luxonを使用する場合
const { DateTime } = require('luxon');
const date = new Date();
const utcDateObject = DateTime.fromJSDate(date).setZone('UTC').toJSDate();
javascript date utc