Jodatime inicio del día y fin del día
Quiero crear un intervalo entre el comienzo de la semana y el final de la semana actual.
Tengo el siguiente código, tomado de esta respuesta :
- No se puede generar APK firmado con proguard habilitado cuando se usa Joda Time
- Cómo obtener el formato de fecha de configuración regional en mes y día
- Android java.lang.NoClassDefFoundError utilizando las bibliotecas JODA
- "Recurso no encontrado" al crear una aplicación para Android en IntelliJ 9.0 Maia Public Beta
- Uso de la biblioteca Joda-Time para convertir la cadena al formato DateTime en Google Tasks API
private LocalDateTime calcNextSunday(LocalDateTime d) { if (d.getDayOfWeek() > DateTimeConstants.SUNDAY) { d = d.plusWeeks(1); } return d.withDayOfWeek(DateTimeConstants.SUNDAY); } private LocalDateTime calcPreviousMonday(LocalDateTime d) { if (d.getDayOfWeek() < DateTimeConstants.MONDAY) { d = d.minusWeeks(1); } return d.withDayOfWeek(DateTimeConstants.MONDAY); }
Pero ahora quiero que el Monday LocalDateTime
esté en 00:00:00, y el Sunday LocalDateTime
a las 23:59:59. ¿Cómo haría esto?
- JodaTime no reconoce algunas zonas horarias de Android
- Adición de Joda Time a Android Studio
- Jodatime cómo saber si el horario de verano está en
- Separar horas de minutos en un valor de tiempo dado
- Un ligero retraso al hacer clic en un botón
- Cómo escribir y leer org.joda.time.Date en la clase Parcelable
- Gradle duplicar archivos durante el embalaje - messages.properties de JodaTime
- Hora de Joda y error de ProGuard al exportar .apk
Qué tal si:
private LocalDateTime calcNextSunday(LocalDateTime d) { return d.withHourOfDay(23).withMinuteOfHour(59).withSecondOfMinute(59).withDayOfWeek(DateTimeConstants.SUNDAY); } private LocalDateTime calcPreviousMonday(final LocalDateTime d) { return d.withHourOfDay(0).withMinuteOfHour(0).withSecondOfMinute(0).withDayOfWeek(DateTimeConstants.MONDAY); }
Puede utilizar el método withTime
:
d.withTime(0, 0, 0, 0); d.withTime(23, 59, 59, 999);
Igual que la respuesta de Pedro, pero más corta.
También una manera simple es
d.millisOfDay().withMaximumValue();
- ¿Cómo configurar edittext para mostrar el botón de búsqueda o el botón de entrada en el teclado?
- Android Studio: La tarea de fondo se ejecuta indefinidamente