Preencher datas da semana anterior com Javascript

Assumindo que você tenha 6 campos de formulário, os três primeiros para representar a data inicial, (inicio_dia, inicio_mes e inicio_ano), e os outros três para representar a data final (fim_dia, fim_mes, fim_ano), usando o Dojo Toolkit é muito fácil colocar nas datas de iní­cio a segunda-feira da semana passada e na data final, o domingo da semana passada.

Aqui vai a função que eu uso:

function periodo_semana_passada()
{
    var data_atual = new Date();

    // Dia da semana atual (1 segunda, 7 domingo)
    var weekday = dojo.date.format(data_atual, '%u');

    // O dia do ano servirá para colocarmos no objeto de data um novo valor
    var dia_do_ano = dojo.date.getDayOfYear(data_atual) - 7;
    var data_inicio = dojo.date.setDayOfYear(data_atual, dia_do_ano - (weekday - 2));
    // O final é a segunda-feira mais seis dias
    var data_fim = dojo.date.add(data_inicio, 'day', 6);

    document.getElementById('inicio_dia').value = dojo.date.format(data_inicio, '%d');
    document.getElementById('inicio_mes').value = dojo.date.format(data_inicio, '%m');
    document.getElementById('inicio_ano').value = dojo.date.format(data_inicio, '%Y');
    document.getElementById('fim_dia').value = dojo.date.format(data_fim, '%d');
    document.getElementById('fim_mes').value = dojo.date.format(data_fim, '%m');
    document.getElementById('fim_ano').value = dojo.date.format(data_fim, '%Y');
}

Depois é só chamar a função em algum evento, por exemplo:

preencher com a semana passada

Posted

in

by

Tags: