Swift-时间戳

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。

获取现在的时间戳(秒)

1
2
3
4
5
6
7
8
9
10
11
12
13
func getNowDataString() -> String {
// 当前的时间 例如 "May 31, 2017, 10:43 AM"
let date:NSDate = NSDate()
// 把时间转换成时间戳 例如 1496198622.22576
let time: TimeInterval = date.timeIntervalSince1970
return String(format: "%.0f", time)
}

根据时间戳 和 指定的时间格式来返回时间 (秒)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
func yearsMonthDay(time: NSNumber, format: String) -> String {
// yyyy-MM-dd HH:mm:ss
//转换为时间
let timeInterval:TimeInterval = TimeInterval(Int(time))
let date = Date(timeIntervalSince1970: timeInterval)
//格式话输出
let dformatter = DateFormatter()
dformatter.dateFormat = format
return dformatter.string(from: date)
}

时间戳转换时间 (秒)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
func dateFrom(time: String, format: String) -> String {
//格式话输出
let dfmatter = DateFormatter()
dfmatter.dateFormat = format
let date = dfmatter.date(from: time)
let dateStamp:TimeInterval = date!.timeIntervalSince1970
let dateSt:Int = Int(dateStamp)
return String(dateSt)
}

时间格式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
G: 公元时代,例如AD公元
yy: 年的后2位
yyyy: 完整年
MM: 月,显示为1-12,带前置0
MMM: 月,显示为英文月份简写,如 Jan
MMMM: 月,显示为英文月份全称,如 Janualy
dd: 日,2位数表示,如02
d: 日,1-2位显示,如2,无前置0
EEE: 简写星期几,如Sun
EEEE: 全写星期几,如Sunday
aa: 上下午,AM/PM
H: 时,24小时制,0-23
HH: 时,24小时制,带前置0
h: 时,12小时制,无前置0
hh: 时,12小时制,带前置0
m: 分,1-2位
mm: 分,2位,带前置0
s: 秒,1-2位
ss: 秒,2位,带前置0
S: 毫秒
Z: GMT(时区)
坚持原创技术分享,您的支持将鼓励我继续创作!