【发布时间】:2015-09-16 20:33:46
【问题描述】:
我正在尝试做与 NSDate() 等效的操作,但不导入 Foundation。
达尔文模块有办法做到这一点吗?
我在看这个答案,但没有骰子 How can I get a precise time, for example in milliseconds in Objective-C?
【问题讨论】:
标签: swift
我正在尝试做与 NSDate() 等效的操作,但不导入 Foundation。
达尔文模块有办法做到这一点吗?
我在看这个答案,但没有骰子 How can I get a precise time, for example in milliseconds in Objective-C?
【问题讨论】:
标签: swift
我不确定这是否是您正在寻找的,但 BSD 库 功能
let t = time(nil)
以整数形式给出自 Unix 纪元以来的秒数,所以这几乎与
let t = NSDate().timeIntervalSince1970
只有后者以Double 的形式返回时间更高
精确。如果您需要更高的精度,那么您可以使用
gettimeofday():
var tv = timeval()
gettimeofday(&tv, nil)
let t = Double(tv.tv_sec) + Double(tv.tv_usec) / Double(USEC_PER_SEC)
如果您正在寻找根据您当地时区分解为年、月、日、小时等的时间,请使用
var t = time(nil)
var tmValue = tm()
localtime_r(&t, &tmValue)
let year = tmValue.tm_year + 1900
let month = tmValue.tm_mon + 1
let day = tmValue.tm_mday
let hour = tmValue.tm_hour
// ...
tmValue 是struct tm,字段在
https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man3/localtime.3.html.
【讨论】: