Add getInstance() and isHourInRange() methods to DateHelper for compatibility
This commit is contained in:
parent
40189e4a9c
commit
3f36666c4d
@ -19,13 +19,24 @@ public final class DateHelper {
|
|||||||
private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||||
private static final DateTimeFormatter TIME_FORMATTER = DateTimeFormatter.ofPattern("HH:mm:ss");
|
private static final DateTimeFormatter TIME_FORMATTER = DateTimeFormatter.ofPattern("HH:mm:ss");
|
||||||
|
|
||||||
|
// Instancia única para el patrón Singleton (compatibilidad con código existente)
|
||||||
|
private static final DateHelper INSTANCE = new DateHelper();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor privado para prevenir que la clase sea instanciada.
|
* Constructor privado para prevenir que la clase sea instanciada directamente.
|
||||||
*/
|
*/
|
||||||
private DateHelper() {
|
private DateHelper() {
|
||||||
// Clase de utilidad, no necesita ser instanciada.
|
// Clase de utilidad, no necesita ser instanciada.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Obtiene la instancia única de DateHelper (patrón Singleton).
|
||||||
|
* @return La instancia única de DateHelper.
|
||||||
|
*/
|
||||||
|
public static DateHelper getInstance() {
|
||||||
|
return INSTANCE;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Obtiene la fecha y/o hora actual en la zona horaria de Venezuela.
|
* Obtiene la fecha y/o hora actual en la zona horaria de Venezuela.
|
||||||
*
|
*
|
||||||
@ -65,4 +76,37 @@ public final class DateHelper {
|
|||||||
public static String getCurrentVenezuelanTime() {
|
public static String getCurrentVenezuelanTime() {
|
||||||
return ZonedDateTime.now(VENEZUELA_ZONE_ID).format(TIME_FORMATTER);
|
return ZonedDateTime.now(VENEZUELA_ZONE_ID).format(TIME_FORMATTER);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Verifica si una hora está dentro de un rango especificado.
|
||||||
|
*
|
||||||
|
* @param hourBegin Hora de inicio en formato HHmm (ej: 800 para 08:00, 1800 para 18:00).
|
||||||
|
* @param hourFinish Hora de fin en formato HHmm (ej: 800 para 08:00, 1800 para 18:00).
|
||||||
|
* @param timeString Hora a verificar en formato "HH:mm:ss" o "HH:mm".
|
||||||
|
* @return true si la hora está dentro del rango [hourBegin, hourFinish], false en caso contrario.
|
||||||
|
*/
|
||||||
|
public boolean isHourInRange(int hourBegin, int hourFinish, String timeString) {
|
||||||
|
if (timeString == null || timeString.trim().isEmpty()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Extrae las horas y minutos del String (formato "HH:mm:ss" o "HH:mm")
|
||||||
|
String[] timeParts = timeString.split(":");
|
||||||
|
if (timeParts.length < 2) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
int hour = Integer.parseInt(timeParts[0]);
|
||||||
|
int minute = Integer.parseInt(timeParts[1]);
|
||||||
|
|
||||||
|
// Convierte la hora a formato HHmm
|
||||||
|
int currentHour = hour * 100 + minute;
|
||||||
|
|
||||||
|
// Verifica si está en el rango
|
||||||
|
return currentHour >= hourBegin && currentHour <= hourFinish;
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user