Olá,
Estou lendo datas de um arquivo e elas estão neste formato(2013-01-15T11:21:00-05:00)
Qual a melhor maneira para interpretá-las para gravar no banco de dados.
Olá,
Estou lendo datas de um arquivo e elas estão neste formato(2013-01-15T11:21:00-05:00)
Qual a melhor maneira para interpretá-las para gravar no banco de dados.
Você deve usar um DateFormat pra converter essa String para Date, e daí pra frente, faz como sempre fez.
Se tiver dúvidas quanto ao formato, consulte a documentação da classe SimpleDateFormat, lá quase sempre você vai encontrar o que precisa.
Varia como você quer utilizar.
Você pode salvar apenas as horas, ou apenas a data ou tudo junto.
Siga o conselho do Sasaki em como fazer. [=
Obrigado pela dica, agora a dúvida é a seguinte:
Estou tentanto utilizar SimpleDateFormat para fazer a conversão porém não sei que caractere colocar no lugar do T e -5:00 (2013-01-15[color=red]T[/color]11:21:00[color=red]-05:00[/color])
SimpleDateFormat parse = new SimpleDateFormat(“yyyy-MM-dd[color=red]aqui[/color]HH:mm:ss[color=red]aqui[/color]”);
Estou tentanto utilizar SimpleDateFormat para fazer a conversão porém não sei que caractere colocar no lugar do T e -5:00 (2013-01-15[color=red]T[/color]11:21:00[color=red]-05:00[/color])Você precisa dessa informação? Sabe pra que serve?SimpleDateFormat parse =
new SimpleDateFormat(“yyyy-MM-dd[color=red]aqui[/color]HH:mm:ss[color=red]aqui[/color]”);
O T acredito que seja para indicar que é horário(Time), não posso afirmar, e o -5:00 tem relação com o fuso horário.
Acho que vou retirar essa informações da string que fica mais fácil…porém se alguém tiver a solução irei guardar também.
O T é um char fixo, o -05:00 é a timezone. O SimpleDateFormat tem timezone mas sem os dois pontos, simplesmente -0500.
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
Valeu pessoal, consegui aqui
Valeu pessoal, consegui aquibeleza. Coloque o código aqui para ajudar outros. [=
A solução que usei:
Primeiramente criei uma função para retirar o ‘:’ do -5:00
SimpleDateFormat parse = new SimpleDateFormat("yyyy-MM-ddHH:mm:ssZ");
startDate = parse.parse(dateStr.replace("T", ""));
Sim, é que eu criei uma função para retirar os ‘:’ do -5:00. Vou adicionar essa informação ao post anterior.
O T pode ser tratado como literal (se sempre estiver presente). Coloque-o entre ’ dentro da String pattern.
Já o -05:00, não tem jeito, precisa remover os dois pontos ‘:’ e usar Z (indicativo de timezone).
O pattern ficaria: “yyyy-MM-dd’T’HH:mm:ssZ”
A solução que usei:
SimpleDateFormat parse = new SimpleDateFormat("yyyy-MM-ddHH:mm:ssZ"); startDate = parse.parse(dateStr.replace("T", ""));