Descobrir as datas de uma determinada semana

1

Com date -d @[some_timestamp] +"%U" , o resultado final é um número entre 0-53, que representa a semana em que o [some_timestamp] está localizado. Então, se eu tiver um timestamp arbitrário ie 1426815663 , o resultado final será [week] 11

P: Existe uma forma de date indicar a data de início e data de término da semana 11 ?

    
por 3kstc 08.04.2015 / 07:14

1 resposta

2

Isso não foi testado para datas em torno de um final de ano, mas deve ser suficiente para você resolver o problema:

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 >
    
por 08.04.2015 / 10:50

Tags