我试图从日期字段中正确计算工作年/周数。
我尝试使用clock format命令,如下所示
% clock format [clock scan "2016.01.01" -format "%Y.%m.%d"] -format "%Y-WW%V"
2016-WW53
虽然周数正确,但年份不是因为在这种情况下Jan1在第53周降落,就像2016年那样。由于Tcl
时钟格式命令分别指定周数和年份,我最终将Jan 1, 2016
显示为2016-WW53
,但这应显示为2015-WW53
。
是否有内置功能或是否需要使用if / then条件正确选择年份?
答案 0 :(得分:3)
只需使用修饰符%G
:
clock format [clock scan "2016.01.01" -format "%Y.%m.%d"] -format "%G-WW%V"
输出:
2015-WW53
从手册:
<强>%G 强>
在输出时,产生一个四位数的年份数,适用于基于周的ISO8601日历;也就是说,年份编号对应于%V生成的周数。在输入时,接受这样一个四位数的年份数,可能带有前导空格。