Domanda

Sto usando il seguente stato tagliato per trovare l'inizio e la fine di diversi periodi di tempo in Joda. Il piccolo diavolo sulla mia spalla sinistra dice questo è il modo di andare ... ma io non lo credo.

Qualcuno potrebbe con una certa esperienza Joda prendere un breve sguardo e mi dicono che il piccolo ragazzo ha ragione?

(Si sarà usato solo per gli oggetti UTC datetime)

Grazie!

/* 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);
}
È stato utile?

Soluzione

Joda fa fornitura DateMidnight e LocalDate che potrebbero alleviare avere a che fare con ore e minuti così tanto sui casi in cui si ha realmente si preoccupano solo dei confini giorno. LocalDate implementa anche l'interfaccia di ReadablePartial, e potrebbe essere utile per cercare di rendere le altre implementazioni di ciò che rispecchiano i campi di interesse.

Altri suggerimenti

So che le librerie Java sono 0 sulla base (vale a dire di gennaio è 0, Dicembre è 11). Non credo Joda è, ma se non siete sicuri di doppio controllo che.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top