在上午12点之后将时间转换为昨天

时间:2018-01-21 06:43:45

标签: swift date

我想在上午12点之后将时间转换为昨天。 例如:如果在晚上11:35发送消息,现在时间是12:00 AM,我会将其转换为昨天

let dateformatter = DateFormatter()
dateformatter.timeZone = NSTimeZone.local
dateformatter.dateFormat = "MM/dd/yyyy"

let interval = Calendar.current.dateComponents([.year, .month, .day], from: self, to: Date())

if let day = interval.day, day > 0 {
   return day == 1 ? "Yesterday at" + " " + formatter.string(from: date as Date) : dateformatter.string(from: date as Date) 
}

此代码从发送时间转换为昨天24小时。

1 个答案:

答案 0 :(得分:0)

日历中有一种名为isDateInYesterday

的方法
extension Date {
    func isYesterday() -> Bool {
        let calendar = Calendar.current     
        return calendar.isDateInYesterday(self)
    }
}