在 OpenBSD 上将日期转换为 UNIX 时间戳

在 OpenBSD 上将日期转换为 UNIX 时间戳

在 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

OpenBSDdate实用程序习惯于

  1. 设置系统上的日期和/或时间,或者
  2. 显示当前日期和/或时间,或者
  3. 使用该选项解析格式上的时间和日期,[[[[[[cc]yy]mm]dd]HH]MM[.SS]]而无需设置系统时间-j

date它的解析能力不如 GNU 那样灵活的日期转换工具。如果您需要 GNUdate时间/日期解析功能,请安装coreutils端口/包并使用gdate

另请注意,-dOpenBSD 的选项date用于设置系统的夏令时值。

相关内容