初心者向け!JavaScriptでUnixタイムスタンプを理解し、操作する
JavaScriptでUnixタイムスタンプを時間に変換する方法
Dateオブジェクトを使う
JavaScriptには、日付や時刻を扱うためのDateオブジェクトが用意されています。Dateオブジェクトを使って、Unixタイムスタンプを以下の手順で時間に変換できます。
- **new Date()**を使って新しいDateオブジェクトを作成します。
- Dateオブジェクトの**getTime()**メソッドを使って、現在のUnixタイムスタンプを取得します。
- 引数としてUnixタイムスタンプを渡して、Dateオブジェクトのconstructorを呼び出します。
- Dateオブジェクトの**toLocaleString()**メソッドを使って、人間が読みやすい形式に変換します。
// 現在のUnixタイムスタンプを取得
const now = new Date().getTime();
// Unixタイムスタンプを渡してDateオブジェクトを作成
const date = new Date(unixTimestamp);
// 日時をフォーマットして出力
console.log(date.toLocaleString());
例:
const unixTimestamp = 1648582800; // 2024年3月31日 03:54:00 PDT
const date = new Date(unixTimestamp);
console.log(date.toLocaleString()); // "2024/3/31 12:54:00"
moment.jsライブラリを使う
moment.jsは、日付や時刻を扱うオープンソースライブラリです。moment.jsを使うと、より簡単にUnixタイムスタンプを時間に変換できます。
- moment.jsライブラリをプロジェクトにインストールします。
- moment.jsライブラリを読み込みます。
- **moment()**関数を使って、Unixタイムスタンプを渡してMomentオブジェクトを作成します。
// moment.jsライブラリの読み込み
import moment from 'moment';
// Unixタイムスタンプを渡してMomentオブジェクトを作成
const momentObj = moment(unixTimestamp);
// 日時をフォーマットして出力
console.log(momentObj.format('YYYY/MM/DD HH:mm:ss'));
const unixTimestamp = 1648582800; // 2024年3月31日 03:54:00 PDT
import moment from 'moment';
const momentObj = moment(unixTimestamp);
console.log(momentObj.format('YYYY/MM/DD HH:mm:ss')); // "2024/03/31 12:54:00"
JavaScriptでUnixタイムスタンプを時間に変換するには、Dateオブジェクトまたはmoment.jsライブラリを使うことができます。どちらの方法も使いやすく、目的に応じて使い分けることができます。
Dateオブジェクトを使う
// 現在のUnixタイムスタンプを取得
const now = new Date().getTime();
// Unixタイムスタンプを渡してDateオブジェクトを作成
const date = new Date(unixTimestamp);
// 日時をフォーマットして出力
console.log(date.toLocaleString());
const unixTimestamp = 1648582800; // 2024年3月31日 03:54:00 PDT
const date = new Date(unixTimestamp);
console.log(date.toLocaleString()); // "2024/3/31 12:54:00"
// moment.jsライブラリの読み込み
import moment from 'moment';
// Unixタイムスタンプを渡してMomentオブジェクトを作成
const momentObj = moment(unixTimestamp);
// 日時をフォーマットして出力
console.log(momentObj.format('YYYY/MM/DD HH:mm:ss'));
const unixTimestamp = 1648582800; // 2024年3月31日 03:54:00 PDT
import moment from 'moment';
const momentObj = moment(unixTimestamp);
console.log(momentObj.format('YYYY/MM/DD HH:mm:ss')); // "2024/03/31 12:54:00"
補足:
- 上記のコードは、ブラウザまたはNode.js環境で実行できます。
- 日時のフォーマットは、
toLocaleString()
メソッドまたはformat()
メソッドの引数で指定できます。
JavaScriptでUnixタイムスタンプを時間に変換する他の方法
Intl.DateTimeFormatを使う
Intl.DateTimeFormatは、ロケールに合わせた日付や時刻の書式設定を行うためのオブジェクトです。Intl.DateTimeFormatを使って、Unixタイムスタンプを以下の手順で時間に変換できます。
- オブジェクトの**format()**メソッドを使って、Unixタイムスタンプを渡して時間に変換します。
// Intl.DateTimeFormatオブジェクトを作成
const dateTimeFormat = new Intl.DateTimeFormat('ja-JP');
// Unixタイムスタンプを渡して時間に変換
const formattedDate = dateTimeFormat.format(unixTimestamp);
// 出力
console.log(formattedDate);
const unixTimestamp = 1648582800; // 2024年3月31日 03:54:00 PDT
const dateTimeFormat = new Intl.DateTimeFormat('ja-JP');
const formattedDate = dateTimeFormat.format(unixTimestamp);
console.log(formattedDate); // "2024年3月31日 12時54分00秒"
手動で計算する
Unixタイムスタンプは、1970年1月1日 00:00:00 UTCからの経過秒数を表す数値です。そのため、以下の式を使って手動で計算することもできます。
const date = new Date(unixTimestamp * 1000);
// 出力
console.log(date.toLocaleString());
const unixTimestamp = 1648582800; // 2024年3月31日 03:54:00 PDT
const date = new Date(unixTimestamp * 1000);
console.log(date.toLocaleString()); // "2024/3/31 12:54:00"
ライブラリを使う
他にも、日付や時刻を扱うライブラリを使って、Unixタイムスタンプを時間に変換することができます。例えば、以下のライブラリが利用できます。
これらのライブラリは、様々な日付や時刻の操作を簡単に実行することができます。
JavaScriptでUnixタイムスタンプを時間に変換するには、様々な方法があります。それぞれの方法にはメリットとデメリットがあるので、目的に応じて最適な方法を選択する必要があります。
javascript date time