Package br.com.intersys.systextil.util
Class UtilDateTime
java.lang.Object
br.com.intersys.systextil.util.UtilDateTime
Métodos utilitários para manusear datas e horas tentando manter alguma compatibilidade
com as funções do Vision. É provável que em Java puro existam melhores implementações
das funcionalidades de vários métodos desta classe. Aqui procurou-se priorizar
a compatibilidade, mesmo que em detrimento de alguma qualidade de implementação.
Alguns métodos são muito antigos e possivelmente nem são mais usados.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleancomparaDatas(Date data1, Date data2) static intcompararCampos(Date primeiro, Date segundo) static intcompararCampos(Time primeiro, Time segundo) static intcompararCampos(Timestamp primeiro, Timestamp segundo) static intcompararCampos(Date primeiro, Date segundo) Permite uma comparação semelhante aUtilDateTime.compararCampos(Nullable de, Nullable ate).static booleancompararDataHora(Date pData1, String pOperacao, Date pData2) static booleancompararDatas(Date pData1, String pOperacao, Date pData2) static booleancompararDatas(Date pData1, String pOperacao, Date pData2) static Datestatic Timestatic DatedatetimeAdjust(Date date, String interval, int value) Implementa a funçãodatetime_adjust$()do Vision.static TimedatetimeAdjust(Time time, String interval, int value) Implementa a funçãodatetime_adjust$()do Vision.static intstatic intstatic intdifMinutos(Date dataDe, Time horaDe, Date dataAte, Time horaAte) Implementa a funçãocalcula_minutos.static intdifMinutos(Date ate, Date de) Retorna a quantidade de minutos entre dois instantes.static intdifMinutosEmUmDia(Date ate, Date de) Retorna a quantidade de minutos entre dois horários, considerando que ambos estejam consecutivamente dentro de um intervalo menor do que 24 horas (isto é, mesmo que inicie num dia e termine no dia seguinte).static StringformataDataOracle(Date data) static StringformataDataRPT(Date data1) static StringformataHoraRPT(Date data1) static StringformatarData(Date data1) Formata a data informada dd/mm/yyyy.static StringformatarDataHora(Date data1) static intstatic DategetDate(int pDia, int pMes, int pAno) static Datestatic DateExtrai só a data a partir de umDategenérico.static Calendarstatic intstatic StringgetLocalizedDateString(Date date, String pattern, String locale) static intstatic DategetPrimeiroDiaMes(Date pData) Calcula o primeiro dia de um mês.static Timestampstatic TimegetTime(int minutes) Converte uma quantidade de minutos em umTimedescartando eventual componente de dia.static Timestatic TimeExtrai só a hora a partir de umDategenérico.static TimestampgetTimestamp(Date date, Time time) Gera umTimestampjuntando umDatee umTime.static DategetUltimoDiaMes(Date pData) Calcula o último dia de um mês.static DateparseDateSQLtoDate(Date pData) static DateparseDatetoDateSQL(Date pData) static Datestatic Datestatic TimestampsomarMinutos(Date date, int minutos) static DatestringTimeToDate(String dataStr) static DatestringToDate(String dataStr) Sempre retorna um dia sem as horas.static DatetoDate(int pDias) static intConveniência para obter os minutos de umTimerepresentado por umString.static intÉ pressuposto que a variávelTimeesteja limpa, isto é, venha de uma consulta ao banco de dados com o dia zerado, ou deUtilDateTime.getTime(String).static intstatic TimestamptoVisionTimestamp(Time time) Converte uma hora em umTimestampcorrespondente à hora que é gravada pelo Vision no banco de dados Oracle.
-
Constructor Details
-
UtilDateTime
public UtilDateTime()
-
-
Method Details
-
getDateTimeNow
-
getSQLDateTimeNow
-
comparaDatas
-
formataDataOracle
-
formataDataRPT
-
formataHoraRPT
-
getDate
-
getDate
-
getTime
-
getDate
Extrai só a data a partir de umDategenérico. -
getTime
Extrai só a hora a partir de umDategenérico. -
currentDate
-
currentTime
-
getUltimoDiaMes
Calcula o último dia de um mês. -
getPrimeiroDiaMes
Calcula o primeiro dia de um mês. -
somarMes
-
somarDias
-
somarMinutos
-
compararDatas
-
compararDatas
-
getDia
-
getMes
-
getLocalizedDateString
-
toNum
-
toDate
-
getAno
-
parseDatetoDateSQL
-
parseDateSQLtoDate
-
difAnos
-
difMinutosEmUmDia
Retorna a quantidade de minutos entre dois horários, considerando que ambos estejam consecutivamente dentro de um intervalo menor do que 24 horas (isto é, mesmo que inicie num dia e termine no dia seguinte). Este método é muito útil para substituir lógicas extensas construídas em Vision somente para este fim, por exemplo para o cálculo de turnos.- Parameters:
ate- o horário finalde- o horário inicial- Returns:
- a quantidade de minutos, que é sempre um número positivo menor do que um dia
-
difMinutos
Retorna a quantidade de minutos entre dois instantes. Os parâmetros são final, inicial.É recomendado que os parâmetros possuam data e hora, e portanto sejam das classes
java.util.Dateoujava.sql.Timestamp. Tipos somente data ou somente hora podem não retornar um valor que faça sentido.- Parameters:
ate- o instante finalde- o instante final- Returns:
- os minutos entre os dois instantes; se estiverem invertidos, o resultado é negativo.
-
difMinutos
Implementa a funçãocalcula_minutos. Os parâmetros são inicial, final. -
difDatas
-
toMinutes
É pressuposto que a variávelTimeesteja limpa, isto é, venha de uma consulta ao banco de dados com o dia zerado, ou deUtilDateTime.getTime(String). -
toMinutes
Conveniência para obter os minutos de umTimerepresentado por umString. -
getTime
Converte uma quantidade de minutos em umTimedescartando eventual componente de dia. -
toVisionTimestamp
Converte uma hora em umTimestampcorrespondente à hora que é gravada pelo Vision no banco de dados Oracle. Essa hora é sempre baseada no dia 16 de novembro de 1989. -
getTimestamp
Gera umTimestampjuntando umDatee umTime. -
compararCampos
Permite uma comparação semelhante aUtilDateTime.compararCampos(Nullable de, Nullable ate).Este método só é executado se os parâmetros forem de tipos diferentes de
Date. Neste caso, os parâmetros se transformam emjava.sql.Dateantes da comparação. Se ambos forem do mesmo tipo, é executado um dos outros métodos.- Parameters:
primeiro- um objeto Date que pode ser Date, ou Time, ou Timestampsegundo- outro objeto compatível com de- Returns:
- 0 se primeiro==segundo, 1 se primeiro > segundo, -1 se primeiro < segundo
- Throws:
NullPointerException- se algum parametro for nulo
-
compararCampos
- Throws:
NullPointerException
-
compararCampos
- Throws:
NullPointerException
-
compararCampos
- Throws:
NullPointerException
-
compararDataHora
-
formatarData
Formata a data informada dd/mm/yyyy.- Parameters:
data1- Data informada- Returns:
- String Retorna dd/mm/yyyy e "" para os demais casos.
-
formatarDataHora
-
stringTimeToDate
-
stringToDate
Sempre retorna um dia sem as horas. -
datetimeAdjust
Implementa a funçãodatetime_adjust$()do Vision.- Parameters:
date- a data tomada por base; pode ser nulainterval- o tipo de intervalo a adotar, conforme os padrões de Visionvalue- o número de unidades do intervalo a ajustar; pode ser positivo ou negativo- Returns:
- a data calculada, ou nulo se foi informada nula
- Throws:
IllegalArgumentException- se for informado um intervalo inválido
-
datetimeAdjust
Implementa a funçãodatetime_adjust$()do Vision.- Parameters:
time- a hora tomada por base; pode ser nulainterval- o tipo de intervalo a adotar, conforme os padrões de Visionvalue- o número de unidades do intervalo a ajustar; pode ser positivo ou negativo- Returns:
- a hora calculada, ou nulo se foi informada nula
- Throws:
IllegalArgumentException- se for informado um intervalo inválido
-