Preciso formatar uma data/hora no formato linux (MMddHHmmyyyy.ss). O problema é que quando eu faço :
inthour=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:
Com simpleDateFormat não da certo. Não consegui formata-lo no padrão Linux. Porém, o exemplo do DecimalFormat deu certo.
Valeu!
M
marcobiscaro2112
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:
publicstaticvoidmain(String[]args)throwsException{// teste com vários formatos diferentes SimpleDateFormatf1=newSimpleDateFormat("dd 'de' MMMM 'de' yyyy, HH:mm:ss");SimpleDateFormatf2=newSimpleDateFormat("dd/MM/yy - HH:mm:ss Z");SimpleDateFormatf3=newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");SimpleDateFormatf4=newSimpleDateFormat("EEEE, dd 'de' MMMM 'de' yyyy");SimpleDateFormatf5=newSimpleDateFormat("HH:mm:ss.SSS z");SimpleDateFormatf6=newSimpleDateFormat("EEE dd MMM, HH:mm");Calendarnow=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()));}
Imagine fazer o mesmo só usando DecimalFormat.
S
Sad7
Mais no formato que ele quer provavelmente nao vai poder: MMddHHmmyyyy.ss
nao testei mais axho que nao vai ser valido.
M
marcobiscaro2112
Sad7:
Mais no formato que ele quer provavelmente nao vai poder: MMddHHmmyyyy.ss
nao testei mais axho que nao vai ser valido.
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.
S
Sad7
SimpleDateFormat fr = new SimpleDateFormat("MMddHHmmyyyy'.'ss");
Date now = new Date();
System.out.println(fr.format(now.getTime()));
boa, funciona msm, … fica muito mais facil msm com SimpleDateFormat.