TypeScript:
文字列から日付をパースする
方法:
TypeScriptはJavaScriptのスーパーセットであり、文字列から日付を解析する場合、Dateオブジェクトに依存しています。しかし、JS/TSで日付を扱うとき、Dateオブジェクトの特性により、コードが冗長になったり、不正確になったりすることがあります。ここでは、基本的な例と、より堅牢なソリューションのために人気のあるライブラリdate-fns
を使用するアプローチを紹介します。
JavaScriptのDateオブジェクトを使用
// Dateコンストラクタを使用した基本的な解析
const dateFromString = new Date("2023-04-21T15:00:00Z");
console.log(dateFromString.toString());
// GMTの出力: "Fri Apr 21 2023 15:00:00 GMT+0000 (協定世界時)"
この方法はISO形式の文字列やその他いくつかの日付形式で機能しますが、ブラウザーやロケールによっては不明瞭な形式で結果が一貫しないことがあります。
date-fnsの使用
date-fns
ライブラリは、直感的で一貫性のある日付の取り扱いを提供します。これはモジュラー型のライブラリであり、必要な部分だけを含めることができるため、バンドルサイズを削減します。
まずdate-fns
をインストールします:
npm install date-fns
その後、文字列から日付を解析するために使用します:
import { parseISO, format } from 'date-fns';
// ISO文字列の解析
const dateString = "2023-04-21T15:00:00Z";
const parsedDate = parseISO(dateString);
// 日付のフォーマット(例えば、人が読める形式に)
console.log(format(parsedDate, "PPPpp"));
// 出力: "2023年4月21日午後3時00分"(出力はロケールによって異なる場合があります)
date-fns
はさまざまな形式とロケールをサポートしているため、異なるユーザーリージョンにまたがる正確な日付の解析とフォーマットが必要なアプリケーションにとって堅固な選択となります。