- 论坛徽章:
- 0
|
bash-3.2$ echo "200701
200702
200710
200810
"|gawk '
$1~/^[0-9]+/ && length($0)>=6{
v5=strftime("%w",mktime(substr($1,1,4)" 01 01 12 00 00"));
v4=mktime(substr($1,1,4)" 01 "substr($1,5,2)*7-6" 12 00 00");
v3=strftime("%Y %m %d 12 00 00",v4+(v5+6)%7*(24*3600));
v1=strftime("%Y-%m-%d",mktime(v3));
print $0,"对应的周一为",v1,"(v3=",v3,"v5=",v5,")";
}'
200701 对应的周一为 2007-01-01 (v3= 2007 01 01 12 00 00 v5= 1 )
200702 对应的周一为 2007-01-08 (v3= 2007 01 08 12 00 00 v5= 1 )
200710 对应的周一为 2007-03-05 (v3= 2007 03 05 12 00 00 v5= 1 )
200810 对应的周一为 2008-03-05 (v3= 2008 03 05 12 00 00 v5= 2 ) |
|