朋友圈時(shí)間格式
//朋友圈時(shí)間
func getShowFormat(requestDate:Date) -> String {
//獲取當(dāng)前時(shí)間
let calendar = Calendar.current
//判斷是否是今天
if calendar.isDateInToday(requestDate as Date) {
//獲取當(dāng)前時(shí)間和系統(tǒng)時(shí)間的差距(單位是秒)
//強(qiáng)制轉(zhuǎn)換為Int
let since = Int(Date().timeIntervalSince(requestDate as Date))
// 是否是剛剛
if since < 60 {
return "剛剛"
}
// 是否是多少分鐘內(nèi)
if since < 60 * 60 {
return "\(since/60)分鐘前"
}
// 是否是多少小時(shí)內(nèi)
return "\(since / (60 * 60))小時(shí)前"
}
//判斷是否是昨天
var formatterString = " HH:mm"
if calendar.isDateInYesterday(requestDate as Date) {
formatterString = "昨天" + formatterString
} else {
//判斷是否是一年內(nèi)
formatterString = "MM-dd" + formatterString
//判斷是否是更早期
let comps = calendar.dateComponents([Calendar.Component.year], from: requestDate, to: Date())
if comps.year! >= 1 {
formatterString = "yyyy-" + formatterString
}
}
//按照指定的格式將日期轉(zhuǎn)換為字符串
//創(chuàng)建formatter
let formatter = DateFormatter()
//設(shè)置時(shí)間格式
formatter.dateFormat = formatterString
//設(shè)置時(shí)間區(qū)域
formatter.locale = NSLocale(localeIdentifier: "en") as Locale!
//格式化
return formatter.string(from: requestDate as Date)
}
使用方法
let requestDateString = "請(qǐng)求下來的"
let formatter = DateFormatter()
//時(shí)間字符串和以下時(shí)間格式對(duì)應(yīng)
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
formatter.locale = Locale.init(identifier: "en") as Locale!
let requestDate = formatter.date(from: requestDateString)
//顯示時(shí)間
timeLabel.text = getShowFormat(requestDate:requestDate!)