date-fns を使用して日付操作を簡素化する
日付操作は JavaScript の一般的なタスクであり、ネイティブの Date
オブジェクトはいくつかの基本機能を提供します。ただし、日付の操作は複雑でエラーが発生しやすいため、Date
にはこれらの一般的なタスクを実行するために必要な機能がありません。日付処理をより簡単かつ信頼性の高いものにするには、開発者はサードパーティのライブラリに依存する必要があります。 JavaScript エコシステムには多数の利用可能な機能がありますが、date-fns が事実上の標準として際立っています。これは、日付の解析、書式設定、操作を行うための軽量のユーティリティ ライブラリです。
このチュートリアルでは、date-fns の使用の基本を学び、日付を操作するための最も一般的な関数について説明します。最後に、日付を効率的に処理するために date-fns を JavaScript プロジェクトに組み込む方法について理解します。
date-fns をインストールします
date-fns はノード パッケージです。したがって、NPM、Babel、Webpack などのツール スタックを使用している場合は、次の npm コマンドを使用して date-fns をインストールできます。 リーリー
これに見慣れないものがあるとしても、心配しないでください。ブラウザでも date-fns を使用できます。次の<script></script> 要素を HTML に追加するだけです:
リーリー
dateFns オブジェクトを介してすべての date-fns 関数とユーティリティにアクセスできるようになります。このチュートリアルのすべてのコードを正常に実行するには、date-fns をインポートする同じモジュールにコードが含まれている必要があることに注意してください。
日付を扱うときの主なタスクの 1 つは、日付を人間が読める文字列にフォーマットすることです。 JavaScript の
Date オブジェクトは、書式設定された日付の基本的なサポートを備えていますが、カスタム形式のサポートがありません。 date-fns は、この目的のための書式設定関数を提供します。
リーリー
Date オブジェクトを作成します。次に、
format() 関数を使用して、指定された書式文字列に基づいて日付を書式設定します。形式文字列では、2 桁の日付には
dd、完全な月名には
MMMM、年全体には
yyyy などのプレースホルダーが使用されます。
format() の 2 番目の呼び出しでは、
yyyy-MM-dd 形式が使用されます。
MM プレースホルダーは 2 桁の月を指します。
format() この関数は時刻を簡単にフォーマットすることもできます。 1 桁または 2 桁の時間を出力するには
h または
hh プレースホルダーを使用し、2 桁の分を出力するには
mm を使用し、出力AM/PMインジケーター。例えば:###
リーリー
多数のプレースホルダーを使用して日付と時刻の書式を設定できます。以下の表には一部がリストされていますが、完全なリストについては必ずドキュメントを参照してください。
###ユニット###
プレースホルダー暦年(2桁) | ###年### ###23###||
---|---|---|
2023 | 月(1桁) | ###中くらい### ###7###|
月(2桁) | ###んん###07 | |
1月、2月、12月 | 月 (フルネーム) | ###んー### ###一月二月###|
1月の日(1桁) | d | 5、23 |
日(2桁) | dd | 05、23 |
曜日 (短縮) | E | ###月曜、火曜、水曜###|
EEEE | ###月曜日火曜日######朝午後### ###1つ### ###朝午後### | |
1,2,10 | 時間 (12 時間制、2 桁) | |
01,02,10 | 時間(24時間制、1桁) | ###時間###|
時間 (24 時間制、2 桁) | へへ | |
分(1桁) | ###中くらい###1、2、3、25、30、58 | |
分(2桁) | ###んん###01,02,03,24,56 | |
s | 1、2、3、10、58 | |
SS | 01,02,10,45 |
函数名称 | 目的 |
---|---|
differenceInMilliseconds() |
获取给定日期之间的毫秒数。 |
differenceInSeconds() |
获取给定日期之间的秒数。 |
differenceInMinutes() |
获取给定日期之间的分钟数。 |
differenceInHours() |
获取给定日期之间的小时数。 |
differenceInBusinessDays() |
获取给定日期之间的工作日数。 |
differenceInDays() |
获取给定日期之间的完整天数。 |
differenceInMonths() |
获取给定日期之间的月数。 |
differenceInYears() |
获取给定日期之间的年数。 |
还有许多其他“差异”函数,因此请务必检查文档。
考虑以下示例:
const startDate = new Date(2023, 6, 15); // July 15, 2023 const endDate = new Date(2023, 6, 22); // July 22, 2023 const daysDifference = dateFns.differenceInDays(endDate, startDate); console.log(daysDifference); // Output: 7
在本例中,我们使用 differenceInDays()
函数来计算 startDate
和 endDate
。输出为 7
。
使用时区
使用时区可能是使用日期和时间时最令人沮丧的方面之一,但 date-fns 使用 utcToZonedTime()
和 formatDistanceToNow()
等函数使之变得更容易。考虑以下示例:
const utcDate = new Date(Date.UTC(2023, 6, 15, 12, 0, 0)); const timezone = 'America/New_York'; const zonedDate = dateFns.utcToZonedTime(utcDate, timezone); console.log(dateFns.formatDistanceToNow(zonedDate)); // Output: "6 months"
在此示例中,我们使用 utcToZonedTime()
函数将 utcDate
转换为 America/New_York
时区。然后我们使用 formatDistanceToNow()
函数来获取分区日期和当前时间之间的时差。
处理无效日期
我们永远不能信任来自用户的数据,并且通常最好不要信任任何您无法控制的数据。因此,我们需要能够检查 Date
是否有效,并且 date-fns 为此提供了 isValid()
函数。例如:
const validDate = new Date(2023, 1, 30); // February 30, 2023 is not a valid date const invalidDate = new Date(NaN); // Invalid date console.log(dateFns.isValid(validDate)); // Output: true console.log(dateFns.isValid(invalidDate)); // Output: false
此示例创建了有效和无效的 Date
对象。然后我们使用 isValid()
函数来确定它们是否是有效日期。
结论
date-fns 是一个功能强大且易于使用的库,可以在 JavaScript 中处理日期时为您节省大量时间和精力。本教程仅触及该库功能的表面,因此请务必通过查看官方文档来探索其功能和可用选项。
以上がdate-fns を使用して日付操作を簡素化するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









WordPressは、初心者が簡単に始めることができます。 1.バックグラウンドにログインした後、ユーザーインターフェイスは直感的であり、シンプルなダッシュボードは必要なすべての関数リンクを提供します。 2。基本操作には、コンテンツの作成と編集が含まれます。 WysiWygエディターは、コンテンツの作成を簡素化します。 3.初心者は、プラグインとテーマを介してウェブサイトの機能を拡張でき、学習曲線は存在しますが、練習を通じて習得できます。

人々は、その力と柔軟性のためにWordPressを使用することを選択します。 1)WordPressは、さまざまなWebサイトのニーズに適した、使いやすさとスケーラビリティを備えたオープンソースのCMSです。 2)豊富なテーマとプラグイン、巨大なエコシステム、強力なコミュニティサポートがあります。 3)WordPressの作業原則は、テーマ、プラグイン、コア関数に基づいており、PHPとMySQLを使用してデータを処理し、パフォーマンスの最適化をサポートします。

wordpressisisgoodforvirtalayanywebprojectoitsversitilityasacms.itexcelsin:1)ユーザーフレンドリー、柔軟性と柔軟性と顧客化の維持、およびプルージンの数値化; 3)seooptimization;

WordPress自体は無料ですが、使用するには余分な費用がかかります。1。WordPress.comは、無料から支払いまでの範囲のパッケージを提供し、価格は月あたり数ドルから数十ドルまでの範囲です。 2。WordPress.orgでは、ドメイン名(年間10〜20米ドル)とホスティングサービス(月額5〜50米ドル)を購入する必要があります。 3.ほとんどのプラグインとテーマは無料で、有料価格は数十から数百ドルです。適切なホスティングサービスを選択し、プラグインとテーマを合理的に使用し、定期的に維持および最適化することにより、WordPressのコストを効果的に制御および最適化できます。

WordPressのコアバージョンは無料ですが、使用中に他の料金が発生する場合があります。 1。ドメイン名とホスティングサービスには支払いが必要です。 2。高度なテーマとプラグインが充電される場合があります。 3.プロフェッショナルサービスと高度な機能が請求される場合があります。

WIXは、プログラミングの経験がないユーザーに適しており、WordPressは、よりコントロールと拡張機能を必要とするユーザーに適しています。 1)WIXはドラッグアンドドロップエディターとリッチテンプレートを提供しているため、Webサイトをすばやく構築できます。 2)オープンソースのCMSとして、WordPressには巨大なコミュニティとプラグインエコシステムがあり、詳細なカスタマイズと拡張をサポートしています。

WordPressはコンテンツ管理システム(CMS)です。コンテンツ管理、ユーザー管理、テーマ、プラグイン機能を提供して、Webサイトコンテンツの作成と管理をサポートします。その実用的な原則には、ブログから企業Webサイトまで、さまざまなニーズに適したデータベース管理、テンプレートシステム、プラグインアーキテクチャが含まれます。

3日以内にWordPressを学ぶことができます。 1.テーマ、プラグインなどのマスター基本知識。2。インストールや作業原則などのコア関数を理解します。 3.例を使用して、基本的および高度な使用法を学びます。 4.デバッグテクニックとパフォーマンスの最適化の提案を理解します。
