将时间戳转换为格式化时间 OSX

将时间戳转换为格式化时间 OSX

我在 Ubuntu 上运行了这个脚本,但我现在尝试在 OSX 上运行该脚本,但日期的格式似乎不同。

本来我有:

date -d "$MODDATE" +%F" "%H":"%M

其中$MODDATEstat 生成的 unix 时间戳

然而,上述日期函数在 BSD 版本上的工作方式不同。如何将时间戳转换为以下格式的日期: YYYY-MM-DD HH:MM ?

答案1

您可以使用命令:

$ date -jf "<input format>" "<input value>" +"<output format>"

例如:

$ date -jf "%Y-%m-%d %H:%M" "2011-11-13 08:11:02" +"%Y-%m-%d %H:%M"
2013-08-13 09:11

参考

答案2

要生成时间戳:date +%s.

以及如何转换该时间戳?

苹果系统

使用以下内容:

date -jf "%s" "<timestamp value>" +"%Y-%m-%d %H:%M"

并带有1638449406时间戳:

date -jf "%s" "1638449406" +"%Y-%m-%d %H:%M"

它将打印:

2021-12-02 13:50

Unix:

使用以下内容:

date -ud @<timestamp value> +"%Y-%m-%d %H:%M"

再次,使用1638449406时间戳:

date -ud @1638449406 +"%Y-%m-%d %H:%M"

它将打印:

2021-12-02 13:50

相关内容