Necesito obtener la primera fecha (como org.joda.time.LocalDate
) de un mes y la última. Obtener el primero es trivial, pero obtener el último parece necesitar algo de lógica ya que los meses tienen diferente duración y la duración de febrero incluso varía con los años. ¿Existe un mecanismo para esto ya incorporado a JodaTime o debería implementarlo yo mismo?¿Cómo obtener la última fecha de un mes en particular con JodaTime?
Respuesta
¿Qué tal:
LocalDate endOfMonth = date.dayOfMonth().withMaximumValue();
dayOfMonth()
devuelve un LocalDate.Property
que representa el "día del mes" campo de una manera que conoce el LocalDate
de origen.
Si llega el caso, el método es aun withMaximumValue()
documented a recomendaría para esta tarea en particular:
Esta operación es útil para obtener una LocalDate en el último día del mes, como extensiones de los meses varían.
LocalDate lastDayOfMonth = dt.dayOfMonth().withMaximumValue();
@Jon Skeet ¿Cómo obtener esto usando la nueva API Date and Time de Java 8? –
@ WarrenM.Nocos: Utilizaría 'dt.with (TemporalAdjusters.lastDayOfMonth())' –
Una cuestión de edad, sino un resultado superior Google cuando yo estaba buscando para ello.
Si alguien necesita el último día real como un int
en lugar de utilizar JodaTime usted puede hacer esto:
public static final int JANUARY = 1;
public static final int DECEMBER = 12;
public static final int FIRST_OF_THE_MONTH = 1;
public final int getLastDayOfMonth(final int month, final int year) {
int lastDay = 0;
if ((month >= JANUARY) && (month <= DECEMBER)) {
LocalDate aDate = new LocalDate(year, month, FIRST_OF_THE_MONTH);
lastDay = aDate.dayOfMonth().getMaximumValue();
}
return lastDay;
}
Usando JodaTime, podemos hacer esto:
public static final Integer CURRENT_YEAR = DateTime.now().getYear(); public static final Integer CURRENT_MONTH = DateTime.now().getMonthOfYear(); public static final Integer LAST_DAY_OF_CURRENT_MONTH = DateTime.now() .dayOfMonth().getMaximumValue(); public static final Integer LAST_HOUR_OF_CURRENT_DAY = DateTime.now() .hourOfDay().getMaximumValue(); public static final Integer LAST_MINUTE_OF_CURRENT_HOUR = DateTime.now().minuteOfHour().getMaximumValue(); public static final Integer LAST_SECOND_OF_CURRENT_MINUTE = DateTime.now().secondOfMinute().getMaximumValue(); public static DateTime getLastDateOfMonth() { return new DateTime(CURRENT_YEAR, CURRENT_MONTH, LAST_DAY_OF_CURRENT_MONTH, LAST_HOUR_OF_CURRENT_DAY, LAST_MINUTE_OF_CURRENT_HOUR, LAST_SECOND_OF_CURRENT_MINUTE); }
Como se describe aquí, en mi pequeña esencia en github: A JodaTime and java.util.Date Util Class with a lot of usefull functions.
Otro método simple es este:
//Set the Date in First of the next Month:
answer = new DateTime(year,month+1,1,0,0,0);
//Now take away one day and now you have the last day in the month correctly
answer = answer.minusDays(1);
¿Qué ocurre entonces si su mes es = 12? – jon
- 1. ¿Cómo obtener la primera fecha y la última fecha del mes anterior? (Java)
- 2. calcular semanas por un mes en jodatime
- 3. primera y última fecha del mes anterior
- 4. ¿Cómo obtener el número de días de un mes dado el mes y año en particular?
- 5. ¿Cómo puedo obtener la última hora posible de un día en particular?
- 6. ¿Cómo puedo encontrar la primera y la última fecha en un mes usando PHP?
- 7. Obtener la última fecha de modificación de un archivo remoto
- 8. En PHP, ¿hay alguna manera fácil de obtener la primera y la última fecha de un mes?
- 9. Obtener detalles de la fecha (día, mes, año) en GWT
- 10. ¿Cómo se selecciona la última fecha del mes seleccionado en C# .net?
- 11. ¿Cómo puedo simular la fecha real de JodaTime?
- 12. Obtener la fecha de la última modificación de una URL
- 13. ¿Obtener la fecha de la última ejecución de trabajo exitosa?
- 14. ¿Cómo encontrar un mes después de una fecha con django?
- 15. la fecha de la subasta en un mes
- 16. Cómo obtener los datos del último mes y los datos del mes hasta la fecha
- 17. Python: obtener la fecha y hora de la última hora
- 18. Cómo obtener la marca de tiempo Unix por un mes en el futuro dada una fecha
- 19. ¿Cómo obtener la última fecha de compromiso para un grupo de archivos en Git?
- 20. Directorio última fecha de modificación
- 21. ¿Cómo usar JodaTime con Spring e Hibernate?
- 22. Obtener mes y la fecha actual utilizando jQuery
- 23. ¿Cómo obtener el archivo con la última fecha lastModified, en Java?
- 24. PHP: función de fecha para obtener el mes de la fecha
- 25. Obtener la última fecha de modificación de un archivo en VB6
- 26. ¿Cómo puedo obtener la fecha de última modificación de los objetos S3 con boto?
- 27. ¿Cómo obtener la última fecha de modificación del archivo en la línea de comandos de Windows?
- 28. ¿Cómo obtener el 4 lunes de un mes con js?
- 29. Cómo obtener la última fecha de escritura de un documento RavenDB a través de C#
- 30. ¿Cómo puedo obtener la fecha judía de hoy en C#?
Solo un aviso, esto también funciona con los tipos 'DateTime' :) – vikingsteve