是否有没有空格的日期/时间格式?

时间:2010-10-25 20:19:09

标签: linux date

我有一个CGI脚本,它使用unix date命令将给定的字符串转换为日期/时间。我正在寻找一种可以轻松嵌入到URL中的格式,而无需使用%20进行转义。正在构建URL的日期/时间的客户端没有转换为unix时间(自纪元以来的秒数)并且没有办法转换为zulu的偏移量(ISO8601将无效)。但是,可以通过许多其他方式重新格式化用于构建URL的日期/时间。

是否还有其他选项以非间隔格式构建日期时间?

3 个答案:

答案 0 :(得分:27)

$ date "+%F-%T"
2010-10-25-16:23:14

答案 1 :(得分:1)

我找到了一个简单的解决方法。只需在空格中使用下划线,然后在转换为日期之前在CGI脚本中执行tr。它看起来像这样:

stamp="$(echo $stamp|tr _ ' '|xargs -0 date -d)"

然后使用看起来像这样的日期:

26_Oct_2010_11:57:56_CDT

转换为:

date -d "26 Oct 2010 11:57:56 CDT"

答案 2 :(得分:1)

ISO 8601 格式非常适合这种情况,并且内置于 date

以下是支持不同精度级别的一些示例:

$ date --iso-8601
2021-06-26
$ date --iso-8601=minutes
2021-06-26T16:01-0600
$ date --iso-8601=seconds
2021-06-26T16:01:23-0600
$ date --iso-8601=ns
2021-06-26T16:03:19,903115256-0600

有关更多选项,请参阅 man date