我想用bash获取周数。
date
的人员条目显示以下内容:
%V ISO week number, with Monday as first day of week (01..53)
%W week number of year, with Monday as first day of week (00..53)
有什么区别?
这是我得到的输出:
$ date "+%W"
48
$ date "+%V"
48
答案 0 :(得分:0)
在GNU文档中更清楚一点(在手册页中引用):
'%W'周数,周一为周的第一天('00'...'53')。第一个星期一之前的新年中的天数为零周。
'%V'ISO周数,即一周的周数,周一为一周的第一天('01'...'53')。如果包含1月1日的一周在新的一年中有四天或更多天,那么它被认为是第1周;否则,它是上一年的第53周,下一周是第1周。(参见ISO 8601标准。)
答案 1 :(得分:0)
似乎取决于年份。我喜欢JoseKilo的解释。
$ date +%V
32
$ date +%W
31
$ date
Mon Aug 5 08:29:23 MDT 2019
$
$ date -v-2y +%W
31
$ date -v-2y +%V
31
$ date -v-2y
Sat Aug 5 08:29:22 MDT 2017
$
答案 2 :(得分:-1)
我想说那里有一个错字:
$ date "+%W"
52
$ date "+%V"
52
$ date
Sat Dec 30 10:42:06 CET 2017
祝你好运