JavaScript での日付の書式設定をマスターする
JavaScript での日付の書式設定は、開発者にとっての一般的な要件です。ユーザー インターフェイスを構築する場合でも、バックエンド データを操作する場合でも、人間が判読できる形式で日付を表すことが不可欠です。 JavaScript には日付をフォーマットする複数の方法が用意されているため、さまざまなアプリケーションで多用途に使用できます。
このガイドでは、JavaScript Date オブジェクトを文字列、特に 10-Aug-2010 の形式でフォーマットする方法を説明します。このチュートリアルを終えると、JavaScript プロジェクトで日付の書式設定を効果的に処理するための知識が身につくでしょう。
指示 | 説明 |
---|---|
toLocaleDateString | ロケール固有の規則に従って日付をフォーマットし、文字列として返します。 |
replace | パターンの一部またはすべての一致を置換文字列に置き換えた新しい文字列を返します。 |
require | サーバーを作成するための「express」などのモジュールを Node.js にインポートします。 |
express | Web サーバーの構築に使用される Express アプリケーションのインスタンスを作成します。 |
app.get | 指定されたパスへの GET リクエストのルート ハンドラーを定義します。 |
app.listen | 指定されたポートでサーバーを起動し、接続を待機します。 |
JavaScript の日付書式設定スクリプトについて
提供されているスクリプトは、JavaScript をフォーマットする方法を示しています。 Date オブジェクトを希望の形式「10-Aug-2010」の文字列に変換します。フロントエンド スクリプトは toLocaleDateString このメソッドは、ロケール固有の規則に従って日付をフォーマットし、文字列として返します。この方法は汎用性が高く、開発者はさまざまな書式設定オプションを指定できます。この場合、オプション { day: '2-digit', month: 'short', year: 'numeric' } を使用して、日、短縮形の月、および 4 桁の年を取得します。の replace 次に、メソッドを使用してスペースをハイフンに置き換え、最終的に目的の形式を実現します。提供された例は、 Date 2010 年 8 月 10 日のオブジェクトを作成し、関数を使用して正しくフォーマットします。
バックエンド スクリプトは Node.js そしてその Express フレームワークを使用して、日付をフォーマットして応答として送信する単純なサーバーを作成します。の require コマンドを使用して、必要なモジュールをインポートします。の express 関数は Express アプリケーションを初期化し、 app.get GET リクエストのルート ハンドラーを定義します。このハンドラー内では、 formatDate 日付をフォーマットするために関数が呼び出され、フォーマットされた日付が次を使用して応答として送信されます。 res.send。ついに、 app.listen 指定されたポートでサーバーを起動し、受信接続を待機します。このスクリプトは、日付の書式設定をサーバー側アプリケーションに統合して、書式設定された日付を動的に提供できるようにする方法を示しています。
JavaScript で日付オブジェクトを文字列にフォーマットする
JavaScript フロントエンド スクリプト
// Function to format date as 'DD-MMM-YYYY'
function formatDate(date) {
const options = { day: '2-digit', month: 'short', year: 'numeric' };
return date.toLocaleDateString('en-GB', options).replace(/ /g, '-');
}
// Example usage
const date = new Date(2010, 7, 10); // 10-Aug-2010
const formattedDate = formatDate(date);
console.log(formattedDate); // Output: 10-Aug-2010
Node.js でのサーバー側の日付フォーマット
Node.js バックエンド スクリプト
const express = require('express');
const app = express();
const port = 3000;
// Function to format date as 'DD-MMM-YYYY'
function formatDate(date) {
const options = { day: '2-digit', month: 'short', year: 'numeric' };
return date.toLocaleDateString('en-GB', options).replace(/ /g, '-');
}
app.get('/formatted-date', (req, res) => {
const date = new Date(2010, 7, 10); // 10-Aug-2010
const formattedDate = formatDate(date);
res.send(`Formatted Date: ${formattedDate}`);
});
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}`);
});
JavaScript の高度な日付書式設定テクニック
使用を超えて toLocaleDateString JavaScript には、基本的な文字列置換のほかに、日付の書式設定のためのさまざまなメソッドが用意されており、開発者に高い柔軟性を提供します。そのような方法の 1 つは、 Intl.DateTimeFormatは、ECMAScript Internationalization API とともに導入された強力なツールで、日付と時刻の形式をきめ細かく制御できます。の Intl.DateTimeFormat オブジェクトを使用すると、開発者はロケールと書式設定のオプションを指定して、さまざまな環境間で一貫した結果を生成できます。この方法は、直接サポートされていない複数のロケールやカスタムの日付と時刻の形式を操作する場合に特に便利です。 toLocaleDateString。
考慮すべきもう 1 つのアプローチは、次のようなライブラリを使用することです。 moment.js または date-fns。これらのライブラリは、日付の操作と書式設定のためのより包括的なツール セットを提供し、複雑な日付操作を簡素化します。例えば、 moment.js 次のようなシンプルで直感的な構文を使用して日付をフォーマットできます。 moment(date).format('DD-MMM-YYYY')、これにより、目的の形式が直接生成されます。ネイティブ メソッドは基本的なニーズには適していますが、これらのライブラリは、広範な日付操作と書式設定機能を必要とするアプリケーションにとって非常に貴重です。
JavaScript の日付形式に関するよくある質問
- 日付を別のロケールに合わせてフォーマットするにはどうすればよいですか?
- 使用 toLocaleDateString ロケールを指定したメソッド。 date.toLocaleDateString('fr-FR')。
- Date オブジェクトの時刻部分だけをフォーマットできますか?
- はい、使用します toLocaleTimeString 時間部分をフォーマットします。
- 使用するメリットは何ですか Intl.DateTimeFormat?
- これにより、さまざまなロケール間で日付と時刻の形式をより詳細に制御できるようになります。
- Date オブジェクトから月の名前を取得するにはどうすればよいですか?
- 使用 toLocaleString オプションを使用すると、次のようになります date.toLocaleString('en-US', { month: 'long' })。
- は moment.js 日付の書式設定にはまだ良い選択があるでしょうか?
- その間 moment.js 廃止されましたが、依然として広く使用されています。次のような代替案を検討してください date-fns。
- Date オブジェクトに日数を追加するにはどうすればよいですか?
- 使用 date.setDate(date.getDate() + numberOfDays)。
- 日付を ISO 文字列としてフォーマットできますか?
- はい、使用します date.toISOString() ISO形式の場合。
- JavaScript のデフォルトの日付形式は何ですか?
- デフォルトでは、 toString 形式で日付を返します 'Wed Jun 25 2024 12:00:00 GMT+0000 (Coordinated Universal Time)'。
- JavaScript で 2 つの日付を比較するにはどうすればよいですか?
- 次のような比較演算子を使用します。 date1.getTime() === date2.getTime()。
JavaScript での日付の書式設定のまとめ
JavaScript で日付を適切にフォーマットすると、ユーザー エクスペリエンスが向上し、データ表現の一貫性が確保されます。この記事では、フロントエンドとバックエンドの両方のソリューションを提供し、 toLocaleDateString、 replace、 そして Intl.DateTimeFormat。これらの方法とツールを活用することで、開発者は目的の日付形式を簡単に実現できます。のようなライブラリを活用することで、 moment.js そして date-fns 複雑な日付操作がさらに簡素化され、JavaScript が日付書式設定タスクを処理するための強力な選択肢になります。