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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 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:
1 | preencher com a semana <a href="#" onclick="periodo_semana_passada();">passada</a> |