package aplicacao.helper; import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Locale; public class FormatterHelper { public static Locale BRAZIL = new Locale("pt", "BR"); private static DecimalFormat decimalFormat = new DecimalFormat("###0.00"); private static SimpleDateFormat dateFormatData; public static String MECASOFTTXTCPF = "..-"; public static String MECASOFTTXTCNPJ = "../-"; public static String MECASOFTTXTRG = ".. "; public static String MECASOFTTXTINSCRICAOESTADUAL = "..."; public static String MECASOFTTXTSERIECARTEIRATRABALHO = "-"; public static String MECASOFTTXTMOEDA = ","; public static String MECASOFTTXTTELEFONE = "() -"; public static String MECASOFTTXTCEP = "-"; public static String MECASOFTTXTDATA = "//"; public static String MECASOFTTXTHORA = ":"; public static DecimalFormat getDecimalFormat() { decimalFormat.setMinimumFractionDigits(2); return decimalFormat; } public static SimpleDateFormat getDateFormatData() { return getDateFormatData("dd/MM/yyyy"); } public static SimpleDateFormat getDateFormatData(String pattern) { dateFormatData = new SimpleDateFormat(pattern); dateFormatData.setLenient(false); return dateFormatData; } public static String formatarTempo(Calendar calendarTempo) { String tempo = ""; int dias = calendarTempo.get(Calendar.DAY_OF_MONTH) - 1; // calcula o tempo em dias para de pois calcular em horas (caso tenha // mais de 1 ano) if ((calendarTempo.get(Calendar.YEAR) - 1) > 0) { int ano = calendarTempo.get(Calendar.YEAR) - 1; Calendar clTempo = Calendar.getInstance(); for (; ano > 0; ano--) { clTempo.set(ano, 12, 31); dias += clTempo.get(Calendar.DAY_OF_YEAR); } } // calcula a hora pegando o tempo dos dias mais as horas int horas = dias * 24 + calendarTempo.get(Calendar.HOUR); // � verificado se esta em AM ou PM porque quando era PM e davam 17H, // ele retornava 5 if (calendarTempo.get(Calendar.AM_PM) == Calendar.PM) horas += 12; tempo = tempo.concat(horas + " horas, "); tempo = tempo.concat(calendarTempo.get(Calendar.MINUTE) + " minutos, "); tempo = tempo.concat(calendarTempo.get(Calendar.SECOND) + " segundos."); return tempo; } // moeda public static String formatMoedaDuasCasas(BigDecimal valor) { return getDecimalFormat().format(valor); } // tempo public static String formatDataInvertida(Date data) { return getDateFormatData("yyyyMMdd").format(data); } public static String formatarData(Date data) { return getDateFormatData().format(data); } }