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)