在 OpenBSD 6.3 上我可以看到:
foo# date
Sun Apr 1 17:00:45 CEST 2018
foo#
foo# date -d "Sun Apr 1 17:00:45 CEST 2018" +%s
1522594858
foo# date
Sun Apr 1 17:00:59 CEST 2018
foo#
该“日期”不支持通常的转换。
这https://www.epochconverter.com/说 1522594858 是:
Your time zone: Sunday, April 1, 2018 5:00:58 PM GMT+02:00 DST
因此,我发出的 date 命令仅返回当前时间的 unix 时间戳,而不是我给出的转换时间:“Sun Apr 1 17:00:45 CEST 2018”。
问题: 如何在 OpenBSD 上将给定日期转换为 unix 时间戳?如果不使用“date”命令,还有哪些其他 shell 工具可以做到这一点?
首先我开始阅读:https://man.openbsd.org/date- 但没有找到任何有关转换为 unix 时间戳的信息。然后我尝试用谷歌搜索很多例子,但没有帮助。
答案1
- 设置系统上的日期和/或时间,或者
- 显示当前日期和/或时间,或者
- 使用该选项解析格式上的时间和日期,
[[[[[[cc]yy]mm]dd]HH]MM[.SS]]
而无需设置系统时间-j
。
date
它的解析能力不如 GNU 那样灵活的日期转换工具。如果您需要 GNUdate
时间/日期解析功能,请安装coreutils
端口/包并使用gdate
。
另请注意,-d
OpenBSD 的选项date
用于设置系统的夏令时值。