List of usage examples for org.joda.time LocalDateTime getMonthOfYear
public int getMonthOfYear()
From source file:de.avanux.smartapplianceenabler.appliance.TimeOfDayOfWeek.java
License:Open Source License
public LocalDateTime toLastOccurrence(LocalDateTime now) { LocalDateTime dateTime = new LocalDateTime(now.getYear(), now.getMonthOfYear(), now.getDayOfMonth(), getHour(), getMinute(), getSecond()); while (dateTime.get(DateTimeFieldType.dayOfWeek()) != dayOfWeek) { dateTime = dateTime.minusDays(1); }/*from w w w . j a va 2s .c o m*/ return dateTime; }
From source file:de.javakaffee.kryoserializers.jodatime.JodaLocalDateTimeSerializer.java
License:Apache License
@Override public void write(Kryo kryo, Output output, LocalDateTime localDateTime) { final int packedYearMonthDay = localDateTime.getYear() * 13 * 32 + localDateTime.getMonthOfYear() * 32 + localDateTime.getDayOfMonth(); output.writeLong((long) packedYearMonthDay * 86400000 + localDateTime.getMillisOfDay(), true); final String chronologyId = IdentifiableChronology.getChronologyId(localDateTime.getChronology()); output.writeString(chronologyId == null ? "" : chronologyId); }
From source file:de.jpaw.bonaparte.util.DayTime.java
License:Apache License
/** Converts the day portion of a LocalDate or localDateTime into a number in the format YYYYMMDD. */ static public int dayAsInt(LocalDateTime when) { return when.getDayOfMonth() + 100 * when.getMonthOfYear() + 10000 * when.getYear(); }
From source file:ee.ut.soras.ajavtV2.Main.java
License:Open Source License
/** * Loob etteantud sisends6ne p6hjal referentsaja: granulaarsuste <i>aasta, kuu, kuupaev, * tund, minut</i> vaartuste j2rjendi. Kui sisends6ne ei rahulda regulaaravaldisi * <code>/[0-9X]{4}-[0-9X]{2}-[0-9X]{2}T[0-9X]{2}:[0-9X]{2}/</code> vi * <code>/[0-9X]{4}-[0-9X]{2}-[0-9X]{2}/</code> , tagastatakse null. * Kui sisends6ne on null, luuakse referentsaja j2rjend minuti-t2psusega hetkeaja p6hjal. * <br><br> /* w ww . ja va 2s .co m*/ * Tagastatud j2rjendis on granulaarsuste vaartused j2rjekorras * <i>aasta, kuu, kuupaev, tund, minut</i>. */ public static String[] looSonePohjalReferentsAeg(String sone) { if (sone != null) { if (sone.matches("[0-9X]{4}-[0-9X]{2}-[0-9X]{2}T[0-9X]{2}:[0-9X]{2}")) { // 1) Kui sisends6ne vastab etteantud mustrile String[] kalendriValjadeVaartused = new String[5]; int j = 0; boolean seenXXXvalues = false; StringTokenizer tokens1 = new StringTokenizer(sone, "-:T"); while (tokens1.hasMoreTokens()) { String s = (String) tokens1.nextToken(); if (j < kalendriValjadeVaartused.length) { kalendriValjadeVaartused[j] = s; } if (s.matches("X+")) { seenXXXvalues = true; } else { if (seenXXXvalues) { // Kui on l2bisegi numbrid ja XX-v22rtused, on tegemist mitte- // koosk6lalise sisendajaga: parandame numbrid XX-ideks kalendriValjadeVaartused[j] = "XX"; } } if (j < kalendriValjadeVaartused.length) { j++; } } return kalendriValjadeVaartused; } else if (sone.matches("^[0-9X]{4}-[0-9X]{2}-[0-9X]{2}$")) { // 2) Kui sisends6ne vastab etteantud mustrile String[] kalendriValjadeVaartused = new String[5]; int j = 0; boolean seenXXXvalues = false; StringTokenizer tokens2 = new StringTokenizer(sone, "-"); while (tokens2.hasMoreTokens()) { String s = (String) tokens2.nextToken(); if (j < kalendriValjadeVaartused.length) { kalendriValjadeVaartused[j] = s; } if (s.matches("X+")) { seenXXXvalues = true; } else { if (seenXXXvalues) { // Kui on l2bisegi numbrid ja XX-v22rtused, on tegemist mitte- // koosk6lalise sisendajaga: parandame numbrid XX-ideks kalendriValjadeVaartused[j] = "XX"; } } if (j < kalendriValjadeVaartused.length) { j++; } } // Viimased (kellaaja osa) ongi selle mustri puhul teadmata kalendriValjadeVaartused[3] = "XX"; kalendriValjadeVaartused[4] = "XX"; return kalendriValjadeVaartused; } return null; } else { // 2) Kui sisends6ne puudub v6i ei vasta etteantud mustrile, loome uue // referentsaja, milleks saab hetkeaeg LocalDateTime hetkeAeg = new LocalDateTime(); String[] kalendriValjadeVaartused = new String[5]; kalendriValjadeVaartused[0] = String.valueOf(hetkeAeg.getYear()); kalendriValjadeVaartused[1] = String.valueOf(hetkeAeg.getMonthOfYear()); kalendriValjadeVaartused[2] = String.valueOf(hetkeAeg.getDayOfMonth()); kalendriValjadeVaartused[3] = String.valueOf(hetkeAeg.getHourOfDay()); kalendriValjadeVaartused[4] = String.valueOf(hetkeAeg.getMinuteOfHour()); for (int i = 1; i < kalendriValjadeVaartused.length; i++) { if (kalendriValjadeVaartused[i].length() == 1) { kalendriValjadeVaartused[i] = "0" + kalendriValjadeVaartused[i]; } } return kalendriValjadeVaartused; } }
From source file:ee.ut.soras.ajavtV2.mudel.ajavaljend.arvutus.SemLeidmiseAbimeetodid.java
License:Open Source License
/** * Rakendab yldistatud Baldwini akent, et leida hetkele <tt>currentDateTime</tt> l2himat * ajahetke, mis vastab tingimustele <tt>field == soughtValue</tt>. Kui tingimustele vastav * hetk j22b v2lja Baldwini akna raamidest, toimib kui tavaline SET operatsioon, omistades * <tt>field := soughtValue</tt> ajahetke <tt>currentDateTime</tt> raames. * <p>/*w w w .jav a 2s .c o m*/ * Praegu on implementeeritud ainult granulaarsuste * <tt>DAY_OF_WEEK</tt>, <tt>MONTH</tt>, <tt>YEAR_OF_CENTURY</tt> * toetus. * <p> * <i>What's the Date? High Accuracy Interpretation of Weekday Name,</i> Dale, Mazur (2009) */ public static LocalDateTime applyBaldwinWindow(Granulaarsus field, LocalDateTime currentDateTime, int soughtValue) { // --------------------------------- // DAY_OF_WEEK // --------------------------------- if (field == Granulaarsus.DAY_OF_WEEK && DateTimeConstants.MONDAY <= soughtValue && soughtValue <= DateTimeConstants.SUNDAY) { int currentDayOfWeek = currentDateTime.getDayOfWeek(); int addToCurrent = 0; // 1) Vaatame eelnevat 3-e päeva while (addToCurrent > -4) { if (currentDayOfWeek == soughtValue) { return currentDateTime.plusDays(addToCurrent); } currentDayOfWeek--; if (currentDayOfWeek < DateTimeConstants.MONDAY) { currentDayOfWeek = DateTimeConstants.SUNDAY; } addToCurrent--; } // 2) Vaatame jargnevat 3-e päeva currentDayOfWeek = currentDateTime.getDayOfWeek(); addToCurrent = 0; while (addToCurrent < 4) { if (currentDayOfWeek == soughtValue) { return currentDateTime.plusDays(addToCurrent); } currentDayOfWeek++; if (currentDayOfWeek > DateTimeConstants.SUNDAY) { currentDayOfWeek = DateTimeConstants.MONDAY; } addToCurrent++; } } // --------------------------------- // MONTH // --------------------------------- if (field == Granulaarsus.MONTH && DateTimeConstants.JANUARY <= soughtValue && soughtValue <= DateTimeConstants.DECEMBER) { int currentMonth = currentDateTime.getMonthOfYear(); int addToCurrent = 0; // 1) Vaatame eelnevat 5-e kuud while (addToCurrent > -6) { if (currentMonth == soughtValue) { return currentDateTime.plusMonths(addToCurrent); } currentMonth--; if (currentMonth < DateTimeConstants.JANUARY) { currentMonth = DateTimeConstants.DECEMBER; } addToCurrent--; } // 2) Vaatame jargnevat 5-e kuud currentMonth = currentDateTime.getMonthOfYear(); addToCurrent = 0; while (addToCurrent < 6) { if (currentMonth == soughtValue) { return currentDateTime.plusMonths(addToCurrent); } currentMonth++; if (currentMonth > DateTimeConstants.DECEMBER) { currentMonth = DateTimeConstants.JANUARY; } addToCurrent++; } // Kui otsitav kuu j2i aknast v2lja, k2sitleme seda kui "selle aasta" otsitud kuud return currentDateTime.withMonthOfYear(soughtValue); } // --------------------------------- // YEAR_OF_CENTURY // --------------------------------- if (field == Granulaarsus.YEAR_OF_CENTURY && 0 <= soughtValue && soughtValue <= 99) { // API tunnistab vrtuseid vahemikust 1 kuni 100 if (soughtValue == 0) { soughtValue = 100; } int currentYear = currentDateTime.getYearOfCentury(); int addToCurrent = 0; // 1) Vaatame eelnevat 4-a aastakymmet while (addToCurrent > -49) { if (currentYear == soughtValue) { return currentDateTime.plusYears(addToCurrent); } currentYear--; if (currentYear < 1) { currentYear = 100; } addToCurrent--; } // 2) Vaatame jargnevat 4-a aastakymmet currentYear = currentDateTime.getYearOfCentury(); addToCurrent = 0; while (addToCurrent < 49) { if (currentYear == soughtValue) { return currentDateTime.plusYears(addToCurrent); } currentYear++; if (currentYear > 100) { currentYear = 1; } addToCurrent++; } // Kui otsitav kuu j2i aknast v2lja, k2sitleme seda kui "selle sajandi" otsitud aastat return currentDateTime.withYearOfCentury(soughtValue); } return currentDateTime; }
From source file:ee.ut.soras.ajavtV2.mudel.ajavaljend.arvutus.SemLeidmiseAbimeetodid.java
License:Open Source License
/** * Leiab <tt>currentDateTime</tt> granulaarsuse <tt>superField</tt> * <i>n</i>-inda alamosa, mis vastab tingimustele <tt>subField == soughtValueOfSubField</tt>. * <p>//from www . j a v a2s .c o m * Negatiivsete <i>n</i> vaartuste korral voetakse alamosa "tagantpoolt": vaartus * <i>n</i> == -1 tahistab <i>viimast</i>, <i>n</i> == -2 tahistab <i>eelviimast</i> * jne alamosa. * <p> * Praegu on defineeritud ainult <i>kuu n-inda nadalapaeva leidmise</i> operatsioon ( * <tt>superField == MONTH</tt>, <tt>subField == DAY_OF_WEEK</tt>, <tt>soughtValueOfSubField == a weekdayname</tt> ). */ public static LocalDateTime findNthSubpartOfGranularity(Granulaarsus superField, Granulaarsus subField, int soughtValueOfSubField, int n, LocalDateTime currentDateTime) { if (superField == Granulaarsus.MONTH) { // -------------------------------------- // Kuu n-inda nadalapaeva leidmine ... // -------------------------------------- if (subField == Granulaarsus.DAY_OF_WEEK && DateTimeConstants.MONDAY <= soughtValueOfSubField && soughtValueOfSubField <= DateTimeConstants.SUNDAY) { if (n > 0) { // // Algoritm: // http://msdn.microsoft.com/en-us/library/aa227532(VS.60).aspx // // Kerime kaesoleva kuu esimese kuupaeva peale ... LocalDateTime newDate = currentDateTime.withDayOfMonth(1); // Leiame esimese otsitud nadalapaeva while (newDate.getDayOfWeek() != soughtValueOfSubField) { newDate = newDate.plusDays(1); } int currentMonth = newDate.getMonthOfYear(); newDate = newDate.plusDays((n - 1) * 7); if (currentMonth == newDate.getMonthOfYear()) { // Kui kuu j2i kindlalt samaks, tagastame leitud nadalapaeva return newDate; } } else if (n < 0) { // Negatiivsete vaartuste korral otsime lahendust lopust: // Kerime kuu viimase vaartuse peale LocalDateTime newDate = currentDateTime .withDayOfMonth(currentDateTime.dayOfMonth().getMaximumValue()); // Leiame viimase otsitud nadalapaeva while (newDate.getDayOfWeek() != soughtValueOfSubField) { newDate = newDate.minusDays(1); } int currentMonth = newDate.getMonthOfYear(); newDate = newDate.minusDays(((n * (-1)) - 1) * 7); if (currentMonth == newDate.getMonthOfYear()) { // Kui kuu j2i kindlalt samaks, tagastame leitud nadalapaeva return newDate; } } } // ------------------------------------------------- // Kuu n-inda ndala/ndalavahetuse leidmine ... // ------------------------------------------------- // ------------------------------------------------------------------- // Teeme eelduse, et kuu esimene ndal on ndal, mis sisaldab kuu // esimest nadalapaeva {soughtValueOfSubField}; // Ning analoogselt, kuu viimane ndal on ndal, mis sisaldab kuu // viimast nadalapaeva {soughtValueOfSubField}; // ------------------------------------------------------------------- if (subField == Granulaarsus.WEEK_OF_YEAR && DateTimeConstants.MONDAY <= soughtValueOfSubField && soughtValueOfSubField <= DateTimeConstants.SUNDAY) { if (n > 0) { // Kerime kaesoleva kuu esimese paeva peale ... LocalDateTime newDate = currentDateTime.withDayOfMonth(1); // Leiame kuu esimese neljapaeva/laupaeva while (newDate.getDayOfWeek() != soughtValueOfSubField) { newDate = newDate.plusDays(1); } newDate = newDate.plusDays((n - 1) * 7); return newDate; } else if (n < 0) { // Negatiivsete vaartuste korral otsime lahendust lopust: // Kerime kuu viimase vaartuse peale LocalDateTime newDate = currentDateTime .withDayOfMonth(currentDateTime.dayOfMonth().getMaximumValue()); // Leiame viimase neljapaeva/laupaeva while (newDate.getDayOfWeek() != soughtValueOfSubField) { newDate = newDate.minusDays(1); } newDate = newDate.minusDays(((n * (-1)) - 1) * 7); return newDate; } } } return null; }
From source file:org.apache.isis.applib.fixturescripts.clock.ClockFixture.java
License:Apache License
@Override protected void execute(ExecutionContext ec) { // can only be used in the context of integration tests if (!(Clock.getInstance() instanceof FixtureClock)) { throw new IllegalStateException("Clock has not been initialized as a FixtureClock"); }//from w ww.j av a 2 s .c om final FixtureClock fixtureClock = (FixtureClock) FixtureClock.getInstance(); // check that some value has been set checkParam("date", ec, String.class); // process if can be parsed as a LocalDateTime LocalDateTime ldt = parseAsLocalDateTime(date); if (ldt != null) { fixtureClock.setDate(ldt.getYear(), ldt.getMonthOfYear(), ldt.getDayOfMonth()); fixtureClock.setTime(ldt.getHourOfDay(), ldt.getMinuteOfHour()); return; } // else process if can be parsed as a LocalDate LocalDate ld = parseAsLocalDate(date); if (ld != null) { fixtureClock.setDate(ld.getYear(), ld.getMonthOfYear(), ld.getDayOfMonth()); return; } // else throw new IllegalArgumentException( String.format("'%s' could not be parsed as a local date/time or local date", date)); }
From source file:org.apache.isis.applib.fixturescripts.clock.TickingClockFixture.java
License:Apache License
private void setTo(final String date) { if (!(Clock.getInstance() instanceof FixtureClock)) { throw new IllegalStateException("Clock has not been initialized as a FixtureClock"); }/*from w w w . j a v a 2s. co m*/ final FixtureClock fixtureClock = (FixtureClock) FixtureClock.getInstance(); // process if can be parsed as a LocalDateTime LocalDateTime ldt = parseAsLocalDateTime(date); if (ldt != null) { fixtureClock.setDate(ldt.getYear(), ldt.getMonthOfYear(), ldt.getDayOfMonth()); fixtureClock.setTime(ldt.getHourOfDay(), ldt.getMinuteOfHour()); return; } // else process if can be parsed as a LocalDate LocalDate ld = parseAsLocalDate(date); if (ld != null) { fixtureClock.setDate(ld.getYear(), ld.getMonthOfYear(), ld.getDayOfMonth()); return; } // else throw new IllegalArgumentException( String.format("'%s' could not be parsed as a local date/time or local date", date)); }
From source file:org.apache.isis.schema.utils.jaxbadapters.JodaLocalDateTimeXMLGregorianCalendarAdapter.java
License:Apache License
public static XMLGregorianCalendar print(final LocalDateTime dateTime) { if (dateTime == null) return null; final XMLGregorianCalendarImpl xgc = new XMLGregorianCalendarImpl(); xgc.setYear(dateTime.getYear());/*from www. j a v a2 s .co m*/ xgc.setMonth(dateTime.getMonthOfYear()); xgc.setDay(dateTime.getDayOfMonth()); xgc.setHour(dateTime.getHourOfDay()); xgc.setMinute(dateTime.getMinuteOfHour()); xgc.setSecond(dateTime.getSecondOfMinute()); xgc.setMillisecond(dateTime.getMillisOfSecond()); return xgc; }
From source file:org.apache.isis.schema.utils.jaxbadapters.XmlCalendarFactory.java
License:Apache License
public static XMLGregorianCalendar create(LocalDateTime localDateTime) { return localDateTime != null ? withTypeFactoryDo(dtf -> dtf.newXMLGregorianCalendar(localDateTime.getYear(), localDateTime.getMonthOfYear(), localDateTime.getDayOfMonth(), localDateTime.getHourOfDay(), localDateTime.getMinuteOfHour(), localDateTime.getSecondOfMinute(), localDateTime.getMillisOfSecond(), DatatypeConstants.FIELD_UNDEFINED)) : null; }