一年中的日历周

时间:2018-09-10 10:11:54

标签: bash shell

在bash脚本中,我要花费日历周数。

date +%G returns the year 2018  
date +%V returns the current week of the current year

例如,我需要日历年

2018 = 52 calendar weeks
2017 = 52 calendar weeks
2016 = 52 calendar weeks
2015 = 53 calendar weeks

是否有一个简单的命令来计算日历周。 我需要2000、2001、2002,...,2018年的最后一周的数量

4 个答案:

答案 0 :(得分:0)

今天星期几是

date +%U
> 36

答案 1 :(得分:0)

简单的命令就是

date -d 20151231 +'%V'

2015年会给53个。只循环一年。

答案 2 :(得分:0)

这有点古怪,但是如果您将日期与年份的最后一天一起提供,则可以执行以下操作:

date -j -f "%m %d %Y" "12 31 2014" +%U 
>> 52

执行以下操作,解析给定的格式“%m%d%Y”->月/日/年,该格式在第二组引号中给出,然后您可以使用所需的任何解析机制。因此,将其与“ +%U”一起使用应该可以得出给定年份的周数。

答案 3 :(得分:0)

ncal是用于显示日历的工具。

呼叫ncal(或cal)显示当前月份的日历。

致电ncal -w也显示星期数。

致电ncal 2018以显示2018年的所有月份(如果需要,还可以显示其他月份)。

致电ncal 12 2017以显示2017年12月的日历。

很多其他选项-请参见manual

示例:

$ ncal -w -3
    August 2018       September 2018    October 2018      
Su     5 12 19 26        2  9 16 23 30     7 14 21 28   
Mo     6 13 20 27        3 10 17 24     1  8 15 22 29   
Tu     7 14 21 28        4 11 18 25     2  9 16 23 30   
We  1  8 15 22 29        5 12 19 26     3 10 17 24 31   
Th  2  9 16 23 30        6 13 20 27     4 11 18 25      
Fr  3 10 17 24 31        7 14 21 28     5 12 19 26      
Sa  4 11 18 25        1  8 15 22 29     6 13 20 27      
   31 32 33 34 35    35 36 37 38 39 40 40 41 42 43 44   
$