如何从 busybox 中的 "date" 获取 ISO8601 秒格式?

How to get ISO8601 seconds format from "date" in busybox?

没有足够的例子,我一直在兜圈子,以获得 'date' 打印出的 iso8601 的 'seconds' 版本。请查看随 busybox 1.22.1 日期提供的帮助。我似乎无法理解所需的语法。根据我的经验,示例胜于雄辩,而且我还没有发现任何可以在线使用的内容。

这是我尝试过的:

➤ date -I=seconds
➤ date -I SPEC='seconds'
➤ date -I seconds
➤ date -I='seconds'
➤ date -I 'seconds'
➤ date -I['seconds']
➤ date -I TIMESPEC='seconds'
➤ date -I TIMESPEC=seconds

注意我已经尝试使用日期的 Ubuntu 版本并且能够弄清楚如何获取日期的 iso8601=seconds 格式,但不是在 busybox 中...

这是 Busybox 1.22.1 的日期帮助显示的内容:

BusyBox v1.22.1 (2014-09-26 07:33:17 CEST) multi-call binary.
Usage: date [OPTIONS] [+FMT] [TIME]
Display time (using +FMT), or set time
    [-s,--set] TIME Set time to TIME
    -u,--utc        Work in UTC (don't convert to local time)
    -R,--rfc-2822   Output RFC-2822 compliant date string
    -I[SPEC]        Output ISO-8601 compliant date string
                    SPEC='date' (default) for date only,
                    'hours', 'minutes', or 'seconds' for date and
                    time to the indicated precision
    -r,--reference FILE     Display last modification time of FILE
    -d,--date TIME  Display TIME, not 'now'
    -D FMT          Use FMT for -d TIME conversion

文档(即帮助)令人困惑,并且不会为简单的功能带来愉快的体验。相反,需要重新编写文档,以便示例命令行输入也是帮助的一部分(至少要简化语法)。无论如何,我回答了我自己的问题。

主要的和非常微妙的区别在我的一次尝试中我碰巧错过了:

➤ date -I 'seconds'
date: invalid date 'seconds'

差一点。它需要删除 space:

➤ date -I'seconds'
2017-07-09T17:29:54-0400

现在 busybox 约会很开心。