AM_PM Calendar - Como obter?[RESOLVIDO]

Bom dia :smiley:

Estou utilizando o Calendar do java para montar a data e horario em um arquivo de log.

Exemplo:

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
System.out.println(sdf.format(Calendar.getInstance().getTime())

Do jeito que esta esse código, a data não vem formatada com horarios PM. Exemplo: 14:00 hrs vem como 02:00 :frowning:

Como faço para alterar isso na classe Calendar? :shock:

Agradeço desde já! :stuck_out_tongue:

Pessoal, tentei alterar o código, porém não obtive sucesso =/

Segue:

System.out.println(sdf.format(Calendar.getInstance().getTime()) + " " + Calendar.getInstance().AM_PM

Entretranto, está sendo retornado isso:

01/03/2013 11:32:30 9

:?:

[RESOLVIDO]

Demorei pra testar assim?! :shock:

Calendar c = GregorianCalendar.getInstance();
System.out.println(c.getTime()); 

//Saida
Mon Mar 04 15:57:51 BRT 2013

Que coisa não?! rs

Obrigado! :smiley:

Duas coisas:

  1. Leia http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

  2. Mude de

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");

Para

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");

H maiúsculo.

[quote=Bruno Laturner]Duas coisas:

  1. Leia http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

  2. Mude de

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");

Para

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");

H maiúsculo.[/quote]

A solução é esta mesmo!

Ignorem o meu RESOLVIDO e considerem o RESOLVIDO através da ajuda do Bruno Laturner. Na verdade não tinha testado ainda com o SimpleDateFormat por isso conclui que tava resolvido. Desculpas à comunidade. Resolução falsa não pow…hehe

Obrigado! :smiley:

Nada haver também sobre GregorianCalendar. Com Calendar também daria certo, basta mudar hh por HH. Acabei complicando o post sem querer… :shock:

Valeu!!

A questão é você saber separar a estrutura de dados da apresentação dele para o usuário.

Por exemplo, se eu escrever ABC

em hexadecimal ficaria {0x41, 0x42, 0x43},
em decimal {65, 66, 67},
em octal {0101, 0102, 0103),
em binário {0b01000001, 0b01000010, 0b01000011},
numa tripla de cores RGB seria um cinza escuro, perto da zona azul escura de cores,
num número inteiro de 24 bits, complemento de dois, seria 4276803 base 10,
24 bits em base 64 seria QUJD…

Assim da mesma forma, hoje é dia 4 de março de 2013, e a esta hora já é dia 5 no Japão, mas ambos são a mesma hora dentro do unix time 1362430384 UTC (GMT).

Hoje também é dia 5573 Adar 22 no calendário Hebreu, 1434 Rabi`ath-Thani 21 no Islâmico, dia 41337 no Excel serial date, mas todos continuam sendo hoje.

Todos internamente são o mesmo tipo de dado, com o mesmo binário, mas são formatados diferentemente dependendo de quem pergunta. Então basta alterar a formatação, e não o dado.

Valeu pela dica Bruno. Fico muito bem explicado! :smiley: