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 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() {
|
||||
// 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.
|
||||
*
|
||||
@ -65,4 +76,37 @@ public final class DateHelper {
|
||||
public static String getCurrentVenezuelanTime() {
|
||||
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