如何使用终端 shell 命令获取苹果的 CF 绝对时间或核心数据支持的时间戳?
How to get apple's CF Absolute Time OR core data supported timestamp using terminal shell command?
date +"%s" - 此命令给出的输出如下:1623847472
我希望输出如下:645540272 使用 shell 命令
我已经尝试了 date 命令的大部分选项,但还没有成功。
date
命令没有这个选项,因为它最初不是 macOS 命令行工具,并且使用了不同的参考日期。它也不支持使用备用参考日期。您需要调整该值以弥补差异。
date
命令使用 1970 年 1 月 1 日 UTC 的 Unix 时间参考。 Core Data 和大多数其他 macOS 和 iOS 框架使用 Mac 参考日期 2001 年 1 月 1 日 UTC。这些参考日期之间的差异是 978307200 秒。
如果您使用 bash,您可以使用
获取自 macOS 参考日期以来的秒数
echo $((`date +"%s"` - 978307200))
它采用 %s
打印的 Unix 参考日期,并减去两个参考日期之间的差异以获得自 macOS 参考日期以来的时间。
date +"%s" - 此命令给出的输出如下:1623847472
我希望输出如下:645540272 使用 shell 命令
我已经尝试了 date 命令的大部分选项,但还没有成功。
date
命令没有这个选项,因为它最初不是 macOS 命令行工具,并且使用了不同的参考日期。它也不支持使用备用参考日期。您需要调整该值以弥补差异。
date
命令使用 1970 年 1 月 1 日 UTC 的 Unix 时间参考。 Core Data 和大多数其他 macOS 和 iOS 框架使用 Mac 参考日期 2001 年 1 月 1 日 UTC。这些参考日期之间的差异是 978307200 秒。
如果您使用 bash,您可以使用
获取自 macOS 参考日期以来的秒数echo $((`date +"%s"` - 978307200))
它采用 %s
打印的 Unix 参考日期,并减去两个参考日期之间的差异以获得自 macOS 参考日期以来的时间。