Swift设置微信朋友圈时间显示样式
发布时间:2020-12-14 07:03:46 所属栏目:百科 来源:网络整理
导读:把请求下来的时间字符串(requestDateString)转换为NSDate //创建formatter let formatter = NSDateFormatter() //设置时间格式 formatter.dateFormat = "EEE MMM d HH:mm:ss Z yyyy" //设置时间区域 formatter.locale = NSLocale(localeIdentifier: "en" ) /
把请求下来的时间字符串(requestDateString)转换为NSDate//创建formatter
let formatter = NSDateFormatter()
//设置时间格式
formatter.dateFormat = "EEE MMM d HH:mm:ss Z yyyy"
//设置时间区域
formatter.locale = NSLocale(localeIdentifier: "en")
//转换为字符串
let requestDate = formatter.dateFromString(requestDateString)
把转换好的NSDate转换成要显示的形式func getShowFormat(requestDate:NSDate) -> String {
//获取当前时间
let calendar = NSCalendar.currentCalendar()
//判断是否是今天
if calendar.isDateInToday(requestDate) {
//获取当前时间和系统时间的差距(单位是秒)
//强制转换为Int
let since = Int(NSDate().timeIntervalSinceDate(requestDate))
// 是否是刚刚
if since < 60 {
return "刚刚"
}
// 是否是多少分钟内
if since < 60 * 60 {
return "(since/60)分钟前"
}
// 是否是多少小时内
return "(since / (60 * 60))小时前"
}
//判断是否是昨天
var formatterString = "HH:mm"
if calendar.isDateInYesterday(requestDate) {
formatterString = "昨天" + formatterString
} else {
//判断是否是一年内
formatterString = "MM-dd" + formatterString
//判断是否是更早期
let comps = calendar.components(NSCalendarUnit.Year,fromDate: requestDate,toDate: NSDate(),options: NSCalendarOptions(rawValue: 0))
if comps.year >= 1 {
formatterString = "yyyy-" + formatterString
}
}
//按照指定的格式将日期转换为字符串
//创建formatter
let formatter = NSDateFormatter()
//设置时间格式
formatter.dateFormat = formatterString
//设置时间区域
formatter.locale = NSLocale(localeIdentifier: "en")
//格式化
return formatter.stringFromDate(requestDate)
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |