Subversion Repositories Integrator Subversion

Rev

Rev 182 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
178 espaco 1
package br.com.ec.web.util;
2
 
3
import java.text.DateFormat;
4
import java.text.SimpleDateFormat;
5
import java.util.Date;
6
 
7
import org.apache.commons.lang.StringUtils;
8
 
9
public class DataUtil {
10
 
11
        public static Date retornarDataFormatada(final String formatacao, final Date data) {
12
                return (Date) LancadorExcecao.verificarSeLancaExcecao(new Command() {
13
 
14
                        public Object execute() throws Exception {
15
                                SimpleDateFormat simpleDateFormat = new SimpleDateFormat(formatacao);
16
                                String dataFormatada = simpleDateFormat.format(data);
17
                                return simpleDateFormat.parse(dataFormatada);
18
                        }
19
                });
20
        }
21
 
22
        public static Date retornarDataApartirString(final String formatacao, final String data) {
23
                return (Date) LancadorExcecao.verificarSeLancaExcecao(new Command() {
24
 
25
                        public Object execute() throws Exception {
26
                                SimpleDateFormat simpleDateFormat = new SimpleDateFormat(formatacao);
27
                                return simpleDateFormat.parse(data);
28
                        }
29
                });
30
        }
31
 
32
        public static String retornarDataFormatadaEmFormatoTexto(final String formatacao, final Date dataParaFormatar) {
33
                return (String) LancadorExcecao.verificarSeLancaExcecao(new Command() {
34
 
35
                        public Object execute() throws Exception {
36
                                return new SimpleDateFormat(formatacao).format(dataParaFormatar);
37
                        }
38
                });
39
        }
40
 
41
        public static String formatarDataNoFormatoTextoParaFormatoIndicado(final String formato, final String formatoNovo, final String dataParaFormatar) {
42
                return (String) LancadorExcecao.verificarSeLancaExcecao(new Command() {
43
 
44
                        public Object execute() throws Exception {
45
                                String dataComBarrasAoInvesDeTracos = StringUtils.replace(dataParaFormatar, "-", "/");
46
                                Date data = new SimpleDateFormat(formato).parse(dataComBarrasAoInvesDeTracos);
47
                                return new SimpleDateFormat(formatoNovo).format(data);
48
                        }
49
                });
50
        }
51
 
52
        interface Command{
53
 
54
                Object execute() throws Exception;
55
        }
56
 
57
        private static class LancadorExcecao {
58
 
59
                public static Object verificarSeLancaExcecao(Command command) {
60
                        try {
61
                                return command.execute();
62
                        } catch (Exception e) {
63
                                throw new RuntimeException("Erro ao formatar data.", e);
64
                        }
65
                }
66
 
67
        }
68
 
69
        public static String formatarDataEmissaoNFe(Date data) {
70
                DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T00:00:00-03:00'"); // 2019-02-19T23:11:51-03:00
71
                return df.format(new Date());
72
        }
73
 
74
        public static String formatarDataSaidaEntradaNFe(Date data) {
75
                DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'-03:00'"); // 2019-02-19T23:11:51-03:00
76
                return df.format(new Date());
77
        }
78
 
79
}