文字列から日付をパースする

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はさまざまな形式とロケールをサポートしているため、異なるユーザーリージョンにまたがる正確な日付の解析とフォーマットが必要なアプリケーションにとって堅固な選択となります。