Preciso formatar uma data/hora no formato linux (MMddHHmmyyyy.ss). O problema é que quando eu faço :
int hour = calendar.get( Calendar.HOUR_OF_DAY );
se a hora for menor que 10 ele retorna a hora com 1 campo, ignorando o 0 ou seja, “H”, porém o format do linux é “HH”. Será que tem como eu retornar com o zero caso a hora seja menor que 10 ? Isso ocorre pra todos os campo, hora/minuto/segundos/dia/mes.
Exemplo:
O SimpleDateFormat não formata cada parte em separado (primeiro, hora, depois minuto, depois segundo e assim por diante). Ele formata um objeto Date todo de uma vez, segundo um padrão específico:
public static void main(String[] args) throws Exception {
// teste com vários formatos diferentes
SimpleDateFormat f1 = new SimpleDateFormat("dd 'de' MMMM 'de' yyyy, HH:mm:ss");
SimpleDateFormat f2 = new SimpleDateFormat("dd/MM/yy - HH:mm:ss Z");
SimpleDateFormat f3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat f4 = new SimpleDateFormat("EEEE, dd 'de' MMMM 'de' yyyy");
SimpleDateFormat f5 = new SimpleDateFormat("HH:mm:ss.SSS z");
SimpleDateFormat f6 = new SimpleDateFormat("EEE dd MMM, HH:mm");
Calendar now = Calendar.getInstance();
System.out.println(f1.format(now.getTime()));
System.out.println(f2.format(now.getTime()));
System.out.println(f3.format(now.getTime()));
System.out.println(f4.format(now.getTime()));
System.out.println(f5.format(now.getTime()));
System.out.println(f6.format(now.getTime()));
}
[quote=Sad7]Mais no formato que ele quer provavelmente nao vai poder: MMddHHmmyyyy.ss
nao testei mais axho que nao vai ser valido.[/quote]
Apesar de ser um formato totalmente estranho (não sei da onde veio isso nem pra que servirá) ele pode usá-lo com SimpleDateFormat sim.