概要
SwiftでDateとStringを相互変換するときのプログラムを紹介。
プログラム
import UIKit
class DateUtils {
class func dateFromString(string: String, format: String) -> Date {
let formatter: DateFormatter = DateFormatter()
formatter.calendar = Calendar(identifier: .gregorian)
formatter.dateFormat = format
return formatter.date(from: string)!
}
class func stringFromDate(date: Date, format: String) -> String {
let formatter: DateFormatter = DateFormatter()
formatter.calendar = Calendar(identifier: .gregorian)
formatter.dateFormat = format
return formatter.string(from: date)
}
}
// 元の日付の文字列
let dateString = "2021/09/20 12:34:56 +09:00"
// Dateに変換
let date = DateUtils.dateFromString(dateString, format: "yyyy/MM/dd HH:mm:ss Z")
print(date)
// => "2021-09-20 12:34:56 +0900\n"
// Stringに再変換
print(DateUtils.stringFromDate(date, format: "yyyy年MM月dd日 HH時mm分ss秒 Z"))
// => "2021年09月20日 12時34分56秒 +0900\n"