找出给定一周的日期

找出给定一周的日期

最终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 >

相关内容