1、时间 字符串转NSDate
let createTimeStr = "Thu Nov 18 10:07:03 +0800 2016"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "EEE MM dd HH:mm:ss Z yyyy" // z是时区 根据createTimeStr决定的
dateFormatter.locale = Locale(identifier: "en_US") // 根据createTimeStr决定的 "zh_CN"转换失败
guard let createDate = dateFormatter.date(from: createTimeStr) else{ // 结果已经减去了8小时
print("转换失败")
return ""
}
2、判断是不是昨天
let calender = NSCalendar.current
if calender.isDateInYesterday(createDate){
// 是昨天
dateFormatter.dateFormat = "昨天 HH:mm" // 输出格式
let dateStr = dateFormatter.string(from: createDate)
return dateStr
}
3、判断一年内
let year = calender.component(.year, from: createDate)
if year < 1{
dateFormatter.dateFormat = "MM-dd HH:mm"
}else {
// 判断大于1年 = 1年以后
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm"
}
let dateStr = dateFormatter.string(from: createDate)
return dateStr
网友评论