1.String 转化成 NSDate :
通常我在提交数据的时候时间格式都是14位,例如:"20161224191234", 为了开发方便,需要把字符串转化成 NSDate
let dateString = "20161224191234"
let formatter = NSDateFormatter()
formatter.dateFormat = "yyyyMMddHHmmss"
formatter.dateFromString(dateString)
这里的 dateFormat 格式要跟你自己的日期字符串格式一样, HH 为24小时制须大写,如不大写,上面转换出来结果为 nil.
2.NSDate 转化成 String
var normalTime:String{
let formatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
return formatter.stringFromDate(NSDate())
}
这样结果就是2016-12-24 19:12:34的格式,格式由自己需求来定
3.由日期判断是星期几
扩展 NSDate,写一个方法
extension NSDate{
func resultWeek()->Int{
let interval = self.timeIntervalSince1970
let day = Int(interval/86400)
return (day-3)%7
}
}
上面的"20161224191234"判断一下是周几
let weeks = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]
let week = weeks[formatter.dateFromString(dateString)!.resultWeek()] 结果是星期六
4.判断两个日期时间差
let firstDate = "2016-09-24"
let secondDate = "2016-12-24"
let cformatter = NSDateFormatter()
cformatter.dateFormat = "yyyy-MM-dd"
let sDate = cformatter.dateFromString(firstDate)
let cDate = cformatter.dateFromString(secondDate)
let intervals = cDate?.timeIntervalSinceDate(sDate!) //时间差(单位是秒)
let day_seconds = 24*3600 //一天的秒数
let days = Int(intervals!)/day_seconds //结果就是两个日期的时间差(单位是天)