gnu date - 上个月怎么样?

时间:2013-05-31 17:42:37

标签: unix gnu

我正在尝试使用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
猜猜我需要月份的定义

1 个答案:

答案 0 :(得分:1)

“上个月”意味着30天前,而不是上个月,我相信。

date --date="$(date +%Y-%m-15) -1 month" 

是检测上个月的信息示例,因为-1个月与-30天相同