扩展了一些NSDate,便于格式化日期。
2016-03-28 本文已影响129人
brzhang
//
// NSDate.swift
import Foundation
public extension NSDate {
class func currentTimeStamptSting() -> String {
return "\(NSDate().timeIntervalSince1970)"
}
class func currentTimeStamptInt() -> Int {
return Int(NSDate().timeIntervalSince1970)
}
/**
拿到两个时间之间的间隔
- parameter start: 开始时间戳
- parameter end: 结束时间戳
- returns:
如果年月都相同返回 xx月xx日-xx日</br>
如果只有年相同 返回 xx月xx日-xx月xx</br>
否则,返回xxxx年xx月xx日-xxxx年xx月xx日
*/
static func getFormatDateInterval(start: NSTimeInterval, end: NSTimeInterval) -> String {
let dateNow = NSDate.init()
let dateFormat = NSDateFormatter.init()
dateFormat.dateFormat = "yyyy-MM-dd"
let dateFormatOutPut = NSDateFormatter.init()
dateFormatOutPut.dateFormat = "yyyy年M月d日"
let dateStart = NSDate.init(timeIntervalSince1970: start)
let dateEnd = NSDate.init(timeIntervalSince1970: end)
let dateNowString: String = dateFormat.stringFromDate(dateNow)
let dateNowSeg = dateNowString.componentsSeparatedByString("-")
let dateStartString: String = dateFormat.stringFromDate(dateStart)
let dateStartSeg = dateStartString.componentsSeparatedByString("-")
let dateEndString: String = dateFormat.stringFromDate(dateEnd)
let dateEndSeg = dateEndString.componentsSeparatedByString("-")
// 如果两个日期相同,就显示一个
if dateStartString == dateEndString {
if dateStartSeg[0] == dateNowSeg[0] {
return dateFormatOutPut.stringFromDate(dateStart).componentsSeparatedByString("年")[1]
} else {
return dateFormatOutPut.stringFromDate(dateStart)
}
}
// 如果年份和当前年份相同
if dateStartSeg[0] == dateEndSeg[0] && dateStartSeg[0] == dateNowSeg[0] && dateNowSeg[0] == dateEndSeg[0] {
// 如果两个月份都相同
if dateStartSeg[1] == dateEndSeg[1] {
return dateFormatOutPut.stringFromDate(dateStart).componentsSeparatedByString("年")[1] + "-" + dateFormatOutPut.stringFromDate(dateEnd).componentsSeparatedByString("月")[1]
// return
} else {
return dateFormatOutPut.stringFromDate(dateStart).componentsSeparatedByString("年")[1] + "-" + dateFormatOutPut.stringFromDate(dateEnd).componentsSeparatedByString("年")[1]
}
} else {
return dateFormatOutPut.stringFromDate(dateStart) + "-" + dateFormatOutPut.stringFromDate(dateEnd)
}
}
}