CSVからJSONへの変換における日付カラムの処理

CSVファイルの日付値のパースと正規化方法。ISO 8601、US/EU日付形式、Excelシリアル日付、タイムゾーン処理を解説。

Data Types

詳細な説明

CSVからJSON変換における日付処理

日付はCSVにおいて最も問題のあるデータ型の一つです。標準フォーマットが存在しないため、同じ日付が01/02/20242024-01-02Jan 2, 202445293(Excelシリアル日付)として表示される可能性があります。

CSVファイルの一般的な日付形式

形式 出典
ISO 8601 2024-01-15 API、データベース
US形式 01/15/2024 USのスプレッドシート
ヨーロッパ形式 15/01/2024 ヨーロッパのスプレッドシート
Excelシリアル 45306 Excelの数値形式
Unixタイムスタンプ 1705276800 データベース、ログ

曖昧性の問題

日付01/02/2024の意味:

  • USでは 2024年1月2日(MM/DD/YYYY)
  • ヨーロッパでは 2024年2月1日(DD/MM/YYYY)

ソースのロケールを知らない限り、正しくパースすることは不可能です。

推奨されるJSON出力形式

日付をJSONに変換する際は、ISO 8601に標準化してください:

{
  "createdAt": "2024-01-15",
  "updatedAt": "2024-01-15T09:30:00Z"
}

ISO 8601は曖昧でなく、文字列としてソート可能で、JSONパーサーやデータベースに広く認識されています。

タイムゾーンの考慮事項

タイムゾーン情報のないCSVの日付は、通常データソースのローカルタイムゾーンにあると仮定されます。Webアプリケーション用にJSONに変換する場合、常にソースのタイムゾーンを特定し、UTCに変換し、明示的なタイムゾーンオフセットまたはZサフィックスで出力してください。

ユースケース

DD.MM.YYYY形式を使用するヨーロッパの会計システムからの過去の販売記録を、JSONでISO 8601日付を期待するグローバル分析プラットフォームに移行する場合に使用します。

試してみる — CSV ↔ JSON Converter

フルツールを開く