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:
JAVASCRIPT:
-
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:
HTML:
-
preencher com a semana
<a href="#" onclick="periodo_semana_passada();">passada
</a>