我正在尝试使用date命令来获取上个月。当我在5月31日运行它时,它可能会返回1,我预计会在4月份发生一些事情。有更好的方法吗?
> date --version
date (GNU sh-utils) 2.0
Written by David MacKenzie.
Copyright (C) 1999 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> date
Fri May 31 13:29:08 EDT 2013
> date --date='last month'
Wed May 1 13:29:15 EDT 2013
来自@fvu的评论我试过这个:
> date --date='first day last month'
Thu May 2 14:00:43 EDT 2013
> date --date='first day next month'
Tue Jul 2 14:00:52 EDT 2013
哪个不太奏效。尽管如此:
>date --date='last day last month'
Tue Apr 30 14:06:28 EDT 2013
猜猜我需要月份的定义
答案 0 :(得分:1)
“上个月”意味着30天前,而不是上个月,我相信。
date --date="$(date +%Y-%m-15) -1 month"
是检测上个月的信息示例,因为-1个月与-30天相同