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

时间:2017-11-24 22:54:00

标签: date embedded-linux iso8601 busybox arago

[免责声明:此问题旨在提出问题和答案格式。该解决方案已经确定并提供了问题。]

如果没有来自busybox帮助部分的充分示例,我无法确定如何获取日期以打印出'秒' iso8601的版本。该帮助不提供帮助理解所需语法的示例。以下是尝试获得所需格式而没有太多运气的不同方法。如何从" date"获得ISO8901秒格式?在busybox?

以下是尝试过的内容:

➤ 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 =秒格式的日期,但不能在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

1 个答案:

答案 0 :(得分:1)

文档(即date --help)令人困惑。文档中的示例用法可以帮助减少这种混淆,至少有助于将语法社交化。

与上述例子的主要区别在于一个混淆命令的“空间”。见下文:

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

一头发脱了。它需要删除一个空格:

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

现在,busybox日期很开心。