2010-05-19 71 views
6

有没有一种方法可以计算下一周即将到来的一天的时间戳?例如,“这个星期五”在bash脚本中

因此,例如,周五,我想能够运行一些代码,计算从今天星期三19/05/10,下一个星期五将是21/05/10,并从中获得时间戳它。

我知道date命令可以根据格式解析给定的字符串日期,但我想不出如何计算“从今天起下周五”

任何想法?

编辑:我在Mac

回答

11

随着GNU日期:

date -d 'this Friday' '+%d/%m/%y' 

Relative items in date strings,GNU的日期documentatoin的一部分。也有examples

+0

如果该命令在星期六/星期日运行,它是否会返回本周的日期或下周的日期? – 2010-05-19 04:03:16

+0

@DJ,我认为它总是在今天或今后一天,从今天开始的7天内返回。对我而言,现在是周三。 19日,所以'这个星期二'给了周二。 25日。有趣的一点是,“本周三”给出了19日,而“下周三”则是26日。 – 2010-05-19 04:08:56

+0

下周的日期。根据“日期”文档,“这”相当于没有指定任何内容,所以它会查找下一个发生的星期五。 – porges 2010-05-19 04:14:58

1

由于没有指定格式,这是更简单:

date -d Fri 

“这个”假设面值默认情况下,周五可以缩写。由于它只是一个词 - 或者它的重要其余部分(询问Th),它不需要像

date -d "last Fri" 

会。

+0

进入战斗的最后阶段.. – Ben 2011-04-14 01:52:39

+0

是的,但它在右侧,当在一个实际的问题(关于随机日期前的星期五)工作时,所以我想:访问此链接 - 大多数人低估了权力'date'。 – 2011-04-14 01:56:07

+0

当然,我会给你一分,让你对日期的力量无懈可击 – Ben 2011-04-14 03:05:04