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
プロパティを使って、異なるタイムゾーンに対応することもできます。