当前位置: > > > Swift - 实现日期(Date)与字符串(String)的相互转换

Swift - 实现日期(Date)与字符串(String)的相互转换

    开发中经常需要实现 Date String 之间的相互转换,比如将日期格式化成字符串输出,又或者将一个日期字符串还原成对应的日期。下面通过样例进行演示。

1,Date 转为 String

(1)为方便使用,首先我们定义一个转换方法。
//日期 -> 字符串
func date2String(_ date:Date, dateFormat:String = "yyyy-MM-dd HH:mm:ss") -> String {
    let formatter = DateFormatter()
    formatter.locale = Locale.init(identifier: "zh_CN")
    formatter.dateFormat = dateFormat
    let date = formatter.string(from: date)
    return date
}

(2)使用样例
//获取当前时间
let date = Date()
print("原始日期:", date)

//日期转字符串(格式化输出)
let str1 = date2String(date)
let str2 = date2String(date, dateFormat: "yyyy-MM-dd")
print("字符串1:", str1)
print("字符串2:", str2)

2,String 转为 Date

(1)为方便使用,首先我们定义一个转换方法。
//字符串 -> 日期
func string2Date(_ string:String, dateFormat:String = "yyyy-MM-dd HH:mm:ss") -> Date {
    let formatter = DateFormatter()
    formatter.locale = Locale.init(identifier: "zh_CN")
    formatter.dateFormat = dateFormat
    let date = formatter.date(from: string)
    return date!
}

(2)使用样例
//样例1
let str1 = "2018-10-01 12:10:10"
let date1 = string2Date(str1)
print("原始字符串1:", str1)
print("日期1:", date1)

//样例2
let str2 = "2018-10-01"
let date2 = string2Date(str2, dateFormat: "yyyy-MM-dd")
print("原始字符串2:", str2)
print("日期2:", date2)
评论0