美文网首页
Swift NSCalendar判断某个时间是不是昨天,是不是一

Swift NSCalendar判断某个时间是不是昨天,是不是一

作者: DSA碼侬 | 来源:发表于2018-03-21 09:31 被阅读13次

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

相关文章

网友评论

      本文标题:Swift NSCalendar判断某个时间是不是昨天,是不是一

      本文链接:https://www.haomeiwen.com/subject/nqjwqftx.html