Question

J'utilise ce qui suit Snipped pour trouver le début et la fin de plusieurs périodes en Joda. Le petit diable sur l'épaule gauche dit thats le chemin à parcourir ... mais je ne le crois.

Quelqu'un pourrait avec une certaine expérience de Joda prendre un bref coup d'oeil et me dire que le petit gars est juste?

(Il ne sera utilisé que pour les objets datetime UTC)

Merci!

/* Year */
private static DateTime endOfYear(DateTime dateTime) {
    return endOfDay(dateTime).withMonthOfYear(12).withDayOfMonth(31);
}

private static DateTime beginningOfYear(DateTime dateTime) {
    return beginningOfMonth(dateTime).withMonthOfYear(1);
}

/* Month */
private static DateTime endOfMonth(DateTime dateTime) {
    return endOfDay(dateTime).withDayOfMonth(dateTime.dayOfMonth().getMaximumValue());
}

private static DateTime beginningOfMonth(DateTime dateTime) {
    return beginningOfday(dateTime).withDayOfMonth(1);
}

/* Day */
private static DateTime endOfDay(DateTime dateTime) {
    return endOfHour(dateTime).withHourOfDay(23);
}

private static DateTime beginningOfday(DateTime dateTime) {
    return beginningOfHour(dateTime).withHourOfDay(0);
}

/* Hour */
private static DateTime beginningOfHour(DateTime dateTime) {
    return dateTime.withMillisOfSecond(0).withSecondOfMinute(0).withMinuteOfHour(0);
}

private static DateTime endOfHour(DateTime dateTime) {
    return dateTime.withMillisOfSecond(999).withSecondOfMinute(59).withMinuteOfHour(59);
}
Était-ce utile?

La solution

Joda ne fournit DateMidnight et LocalDate qui pourraient alléger avoir à traiter avec des heures et des minutes tant sur les cas où vous vraiment ne se soucient que des limites de la journée. LocalDate implémente également l'ReadablePartial d'interface, et il pourrait être intéressant de regarder faire d'autres implémentations de ce qui reflètent les champs d'intérêt.

Autres conseils

Je sais que les bibliothèques Java sont 0 base (c.-à-Janvier est 0, Décembre est 11). Je ne pense pas que Joda est, mais si vous n'êtes pas sûr vérifiez que.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top