首页 > 解决方案 > 我想使用命令打印上个月的最后一个日期,时间戳为“23:59:59”

问题描述

下面是我的输出,但我想得到像Apr 30 23:59:59. 请建议

date -d "$(date +%Y-%m-01) -1 day"

输出: Tue Apr 30 00:00:00 UCT 2019

我想要输出:Tue Apr 30 23:59:59 UCT 2019

标签: linuxdatetime-formatdate-manipulation

解决方案


您需要传递另一个 + 格式日期并将时间替换为 23:59:59。像这样的东西:

date -d "$(date +%Y-%m-01) -1 day" +"%a %b %d 23:59:59 %Z %Y"

输出将是:

Tue Apr 30 23:59:59 -03 2019

更新:要使用格式 YYYYMMDD 的上个月的最后一天,只需将最后一个格式字符串更改为'%Y%m%d'. 这是完整的命令:

date -d "$(date +%Y-%m-01) -1 day" +"%Y%m%d"

这是输出:

20190430

推荐阅读