【问题标题】:How can I get current date and time in swift with out Foundation如何在没有 Foundation 的情况下快速获取当前日期和时间
【发布时间】:2015-09-16 20:33:46
【问题描述】:

我正在尝试做与 NSDate() 等效的操作,但不导入 Foundation。

达尔文模块有办法做到这一点吗?

我在看这个答案,但没有骰子 How can I get a precise time, for example in milliseconds in Objective-C?

【问题讨论】:

    标签: swift


    【解决方案1】:

    我不确定这是否是您正在寻找的,但 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
    // ...
    

    tmValuestruct tm,字段在 https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man3/localtime.3.html.

    【讨论】:

    猜你喜欢
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多