You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift中使用Date()初始化的Date对象时间精度是多少?是否支持毫秒?

Swift中Date()的时间精度说明

Date()初始化的对象完全可以捕获毫秒甚至微秒级时间,精度远高于秒级。你看到print输出只显示到秒,只是因为Date默认的字符串输出格式做了简化,并不是对象本身没有存储更高精度的信息。

你可以通过两种方式验证这一点:

  1. 使用自定义DateFormatter输出带毫秒的时间
let currentTime = Date()
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss.SSS Z"
print(formatter.string(from: currentTime))

运行后会输出类似 2022-10-09 17:13:39.456 +0800 的结果,其中.SSS部分就是毫秒。

  1. 查看时间戳的小数部分
    Date的timeIntervalSince1970属性返回从1970年1月1日到当前时间的秒数,是Double类型,小数部分对应秒以下的精度:
let currentTime = Date()
let preciseTimestamp = currentTime.timeIntervalSince1970
print(preciseTimestamp) // 示例输出:1665299619.456789

这里的.456789就包含了毫秒和微秒级的时间信息。

实际开发中,Date对象的精度取决于系统底层实现,通常能达到微秒级别,完全满足绝大多数需要高精度时间的场景。

内容的提问来源于stack exchange,提问作者XYZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 02:20:35