Data do Sistema Operacional / JSP

3 respostas
J

Olá pessoal

–> tenho o código seguinte:

<%

java.util.Date dt = new java.util.Date();

String dia = new String.valueOf(dt.getDay()) + /

String mes = new String.valueOf(dt.getMonth()) + /

String ano = new String.valueOf(dt.getYear());

%>

<td align=left><INPUT name=edAluMal maxlength=8 size=11
value=’<%=dia + mes + ano%>’>

E o resultado é o seguinte --> 2/9/106 <-- ou seja todo errado!

–> Como faço para pegar a data do sistema operacional de maneira correta? Pode ser em javascript? Qual a maneira correta?

–> Após isso preciso somar 7 dias na data pega pelo sistema operacional, como faço isso?

Obrigado

3 Respostas

J

Esses metodos que você está usando da classe java.util.Date estão marcados como deprecated e não devem ser usados, mas mesmo assim eles funcionam, você só não está sabendo interpretar o resultado:

getDay() retorna o dia, e está correto, 2
getMonth() retorna o mês, mas os meses começam de 0 (Janeiro) e vão até 11 (Dezembro), então o mes 9 é Outubro, e tambem está correto, pra exibir você tem que somar +1
getYear() retorna um numero que somado com 1900 dá o ano, 106+1900 = 2006

Mas como eu disse, esses metodos não devem ser mais usados, pra formatar a data use SimpleDateFormat:

SimpleDateFormat formatador = new SimpleDateFormat&#40;&quot;dd/MM/yyyy&quot;&#41;;

String str = formatador.format&#40;new Date&#40;&#41;&#41;;
G

Uma alternativa, e o mais correto é o GregorianCalendar, um pouco mais complexo de usar, porém mais recomendado.

new GregorianCalendar() já retorna um objeto com a data atual do sistema.

J

Muito obrigado

segui também para o horário no formato (“HH:mm:ss”)

resultados ótimos.

–> Mas como vou fazer operações? Como adicionar (+) 7 dias a data?

–> Saber se a data é menor ou maior que a outra?

Obrigado.

Criado 3 de outubro de 2006
Ultima resposta 3 de out. de 2006
Respostas 3
Participantes 3