最终date -d @[some_timestamp] +"%U"
结果是0-53之间的数字,代表所在的周[some_timestamp]
。所以如果我有一个任意的时间戳IE 1426815663
,最终结果是[周]11
问:有没有办法date
也说明开始日期和结束日期一周11
?
答案1
这尚未针对年终日期进行测试,但应该足以让您计算出其余的内容:
fdotw=$(($1 - ($(date -d @$1 +"%u") - 1) * 3600 * 24))
ldotw=$(($fdotw + 6 * 24 * 3600))
date -d @$fdotw +"%F"
date -d @$ldotw +"%F"
me@mylaptop:/home/me >fdotw=$((1428909297 - ($(date -d @1428909297 +"%u") - 1) * 3600 * 24))
me@mylaptop:/home/me >ldotw=$(($fdotw + 6 * 24 * 3600))
me@mylaptop:/home/me >date -d @$fdotw +"%F"
2015-04-13
me@mylaptop:/home/me >date -d @$ldotw +"%F"
2015-04-19
me@mylaptop:/home/me >