日付を文字列に変換する

Swift:
日付を文字列に変換する

How to: (方法)

日付を文字列に変換する

import Foundation

let now = Date()
let formatter = DateFormatter()

formatter.dateStyle = .medium
formatter.timeStyle = .short

let dateString = formatter.string(from: now)

print(dateString)
// 出力例: "2023年4月20日 18:30"

日付のフォーマットはカスタマイズ可能:

formatter.dateFormat = "yyyy/MM/dd HH:mm"
let customDateString = formatter.string(from: now)

print(customDateString)
// 出力例: "2023/04/20 18:30"

Deep Dive (掘り下げ)

歴史的背景

Swiftの前身であるObjective-C時代から、開発者たちはNSDateFormatterを用いて日付と文字列の変換を行ってきました。SwiftではこれがDateFormatterクラスに進化しました。

代替案

SwiftにはDateFormatterの他にISO8601DateFormatterや相対日付表示のためのRelativeDateTimeFormatterもあります。状況に応じた使い分けが重要です。

実装の詳細

フォーマッタのlocaleプロパティを変更することで、特定のロケール(言語・地域)に応じた日付表示が可能。また、timeZoneプロパティを使って、異なるタイムゾーンに対応することもできます。

See Also (参照)