我试图做相当于NSDate()但没有导入Foundation。
Darwin模块是否有办法做到这一点?
我正在看这个答案,但没有骰子 How can I get a precise time, for example in milliseconds in Objective-C?
答案 0 :(得分:3)
我不确定这是否是你要找的,而是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