Package systextil
Class HoraMinuto
java.lang.Object
systextil.HoraMinuto
- All Implemented Interfaces:
Comparable<HoraMinuto>
Representa a hora e o minuto de um dia, para facilitar alguns cálculos ou processos.
Alguns exemplos:
- Quantos minutos antes da meia-noite:
int tempo_ant = HoraMinuto.MEIA_NOITE.compareTo(HoraMinuto.parse(hora_inicio_ant))
- Se a hora atual é anterior à hora inicial:
if(HoraMinuto.now().before(HoraMinuto.parse(hora_atual))) ...
- Se a hora atual está entre a hora inicial e a hora final:
if(HoraMinuto.now().entre(HoraMinuto.parse(hora_ini), HoraMinuto.parse(hora_fim))) ...
Recomenda-se, sempre que possível, reusar instâncias de HoraMinuto
, para poupar
o retrabalho de "parses".
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
Quantidade de minutos em um dia.final int
static final HoraMinuto
Instância correspondente à meia-noite, que armazena internamente a hora 24.final int
static final HoraMinuto
Instância contendo zeros, correspondente à zero hora. -
Constructor Summary
ConstructorsConstructorDescriptionHoraMinuto
(int hora, int minuto) Cria a hora de um dia a partir da hora e do minuto informados. -
Method Summary
Modifier and TypeMethodDescriptionboolean
after
(HoraMinuto outraHora) Conveniência que informa se esta hora é posterior a outra.boolean
before
(HoraMinuto outraHora) Conveniência que informa se esta hora é anterior a outra.Assegura que o objeto retornado contenha um horário dentro do período básico de 24 horas.final int
compareTo
(HoraMinuto outraHora) Retorna a quantidade de minutos entre este objeto e a hora informada (este menos essa outra hora).int
dias()
Informa quantos dias este objeto está fora do período básico de 24 horas.boolean
entre
(HoraMinuto inicio, HoraMinuto fim) Informa se esta hora está entre o início e o fim informados, inclusive.final boolean
getTime()
Retorna oTime
correspondente a este objeto.final int
hashCode()
static HoraMinuto
now()
Retorna um objeto correspondente à hora atual.static HoraMinuto
Cria a hora de um dia a partir de umString
no formato HH:MM(:SS).static HoraMinuto
Cria a hora de um dia a partir de umTime
.somarMinutos
(int minutos) Retorna um novo objeto com minutos somados à hora deste objeto.int
Obtém a quantidade de minutos de um dia representada por este objeto.final String
toString()
Imprime como HH:MM.
-
Field Details
-
DIA_INTEIRO
public static final int DIA_INTEIROQuantidade de minutos em um dia.- See Also:
-
ZERO_HORA
Instância contendo zeros, correspondente à zero hora. -
MEIA_NOITE
Instância correspondente à meia-noite, que armazena internamente a hora 24. -
hora
public final int hora -
minuto
public final int minuto
-
-
Constructor Details
-
HoraMinuto
public HoraMinuto(int hora, int minuto) Cria a hora de um dia a partir da hora e do minuto informados. O resultado é internamente armazenado na forma de umhashCode
que corresponde ao número de minutos decorridos desde a zero hora. Os argumentos não são validados: ainda que sejam fornecidos um minuto inválido ou uma hora descabida, o resultado será sempre minutos válidos (entre 0 e 59) em uma hora que não necessariamente estará entre 0 e 23.
-
-
Method Details
-
parse
Cria a hora de um dia a partir de umTime
. Os segundos são descartados. -
parse
Cria a hora de um dia a partir de umString
no formato HH:MM(:SS). Se não houver o caractere separador (':'), interpreta os primeiros quatro caracteres, supondo que sejam numéricos.- Throws:
NullPointerException
- se o argumento for nuloIndexOutOfBoundsException
- se não contiver pelo menos 4 caracteres, sem o separadorNumberFormatException
- se não contiver dados numéricos válidos
-
hashCode
public final int hashCode() -
equals
-
compareTo
Retorna a quantidade de minutos entre este objeto e a hora informada (este menos essa outra hora).- Specified by:
compareTo
in interfaceComparable<HoraMinuto>
-
before
Conveniência que informa se esta hora é anterior a outra. -
after
Conveniência que informa se esta hora é posterior a outra. -
entre
Informa se esta hora está entre o início e o fim informados, inclusive. Leva em consideração corretamente se inicia num dia e termina no dia seguinte. Só funciona se as horas informadas estiverem corretamente no mesmo período de 24 horas.Este método tem este nome em português por usar uma lógica específica do Systêxtil, isto é, para que uma hora esteja em um intervalo ela pode ser igual a ambas as extremidades (p. ex. entre 14:00 e 21:59). Em outras situações mais gerais, a lógica incluiria a extremidade inicial e excluiria a extremidade final (p. ex. entre 14:00 e 22:00).
-
toString
Imprime como HH:MM. -
getTime
Retorna oTime
correspondente a este objeto. Sempre corresponde a um horário válido, descartados os segundos. -
now
Retorna um objeto correspondente à hora atual. -
somarMinutos
Retorna um novo objeto com minutos somados à hora deste objeto. O novo objeto pode estar fora do mesmo período de 24 horas. -
dias
public int dias()Informa quantos dias este objeto está fora do período básico de 24 horas. Geralmente retorna 0. Pode ser positivo ou negativo, conforme esteja depois ou antes do período. -
canonicalize
Assegura que o objeto retornado contenha um horário dentro do período básico de 24 horas. Pode ser necessário antes de executar novos cálculos. Não é necessário antes de executargetTime()
, que sempre retorna um objeto válido. -
toMinutes
public int toMinutes()Obtém a quantidade de minutos de um dia representada por este objeto. Sempre está entre zero e 1440-1.- Returns:
- a quantidade de minutos de um dia representada por este objeto
-