List of usage examples for org.joda.time DateTime year
public Property year()
From source file:com.linkedin.cubert.utils.DateTimeUtilities.java
License:Open Source License
public static String getHyphenated(int dateInt) { DateTime dt = getDateTime(Integer.toString(dateInt)); return String.format("%04d-%02d-%02d", dt.year().get(), dt.monthOfYear().get(), dt.dayOfMonth().get()); }
From source file:com.ofalvai.bpinfo.util.UiUtils.java
License:Apache License
/** * Transforms the start and end timestamps into a human-friendly readable string, * with special replacements for special dates, times, and the API's strange notations. * @param context Context/*from w ww .j a v a 2s . co m*/ * @param startTimestamp Start of the alert in seconds since the UNIX epoch * @param endTimestamp End of the alert in seconds since the UNIX epoch * @return A string in the format of [startdate] [starttime] [separator] [enddate] [endtime] */ @NonNull public static String alertDateFormatter(Context context, long startTimestamp, long endTimestamp) { DateTime startDateTime = new DateTime(startTimestamp * 1000L); DateTime endDateTime = new DateTime(endTimestamp * 1000L); LocalDate startDate = startDateTime.toLocalDate(); LocalDate endDate = endDateTime.toLocalDate(); DateTime today = new DateTime(); LocalDate todayDate = new DateTime().toLocalDate(); DateTime yesterday = today.minusDays(1); LocalDate yesterdayDate = yesterday.toLocalDate(); DateTime tomorrow = today.plusDays(1); LocalDate tomorrowDate = tomorrow.toLocalDate(); // Alert start, date part String startDateString; if (startDate.equals(todayDate)) { // Start day is today, replacing month and day with today string startDateString = context.getString(R.string.date_today) + " "; } else if (startDate.year().get() < today.year().get()) { // The start year is less than the current year, displaying the year too startDateString = Config.FORMATTER_DATE_YEAR.print(startDateTime); } else if (startDate.equals(yesterdayDate)) { startDateString = context.getString(R.string.date_yesterday) + " "; } else if (startDate.equals(tomorrowDate)) { startDateString = context.getString(R.string.date_tomorrow) + " "; } else { startDateString = Config.FORMATTER_DATE.print(startDateTime); } // Alert start, time part String startTimeString; if (startDateTime.hourOfDay().get() == 0 && startDateTime.minuteOfHour().get() == 0) { // The API marks "first departure" as 00:00 startTimeString = context.getString(R.string.date_first_departure); } else { startTimeString = Config.FORMATTER_TIME.print(startDateTime); } // Alert end, date part String endDateString; if (endTimestamp == 0) { // The API marks "until further notice" as 0 (in UNIX epoch), no need to display date // (the replacement string is displayed as the time part, not the date) endDateString = " "; } else if (endDate.year().get() > today.year().get()) { // The end year is greater than the current year, displaying the year too endDateString = Config.FORMATTER_DATE_YEAR.print(endDateTime); } else if (endDate.equals(todayDate)) { // End day is today, replacing month and day with today string endDateString = context.getString(R.string.date_today) + " "; } else if (endDate.equals(yesterdayDate)) { endDateString = context.getString(R.string.date_yesterday) + " "; } else if (endDate.equals(tomorrowDate)) { endDateString = context.getString(R.string.date_tomorrow) + " "; } else { endDateString = Config.FORMATTER_DATE.print(endDateTime); } // Alert end, time part String endTimeString; if (endTimestamp == 0) { // The API marks "until further notice" as 0 (in UNIX epoch) endTimeString = context.getString(R.string.date_until_revoke); } else if (endDateTime.hourOfDay().get() == 23 && endDateTime.minuteOfHour().get() == 59) { // The API marks "last departure" as 23:59 endTimeString = context.getString(R.string.date_last_departure); } else { endTimeString = Config.FORMATTER_TIME.print(endDateTime); } return startDateString + startTimeString + Config.DATE_SEPARATOR + endDateString + endTimeString; }
From source file:com.splicemachine.db.iapi.types.TruncateFunctionUtil.java
License:Apache License
private static DateTimeDataValue doTrunc(DataValueDescriptor dateVal, DataValueDescriptor truncValue, DateTimeDataValue truncd, boolean isTimestamp) throws StandardException { if (dateVal.isNull()) { return truncd; }/*from w w w.j a v a 2s . c om*/ DateTime realDT = dateVal.getDateTime(); DateTime newDT; // DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond) switch (getTruncValue(truncValue)) { case YEAR: case YR: newDT = realDT.year().roundFloorCopy(); break; case MONTH: case MON: case MO: newDT = realDT.monthOfYear().roundFloorCopy(); break; case DAY: newDT = realDT.dayOfMonth().roundFloorCopy(); break; case HOUR: case HR: if (!isTimestamp) { throw StandardException.newException(SQLState.LANG_TRUNCATE_WRONG_TRUNC_VALUE_FOR_DATE, getTruncValue(truncValue).name()); } newDT = realDT.hourOfDay().roundFloorCopy(); break; case MINUTE: case MIN: if (!isTimestamp) { throw StandardException.newException(SQLState.LANG_TRUNCATE_WRONG_TRUNC_VALUE_FOR_DATE, getTruncValue(truncValue).name()); } newDT = realDT.minuteOfHour().roundFloorCopy(); break; case SECOND: case SEC: if (!isTimestamp) { throw StandardException.newException(SQLState.LANG_TRUNCATE_WRONG_TRUNC_VALUE_FOR_DATE, getTruncValue(truncValue).name()); } newDT = realDT.secondOfMinute().roundFloorCopy(); break; case MILLISECOND: case MILLI: if (!isTimestamp) { throw StandardException.newException(SQLState.LANG_TRUNCATE_WRONG_TRUNC_VALUE_FOR_DATE, getTruncValue(truncValue).name()); } newDT = realDT; break; default: throw StandardException.newException(SQLState.LANG_TRUNCATE_UNKNOWN_TRUNC_VALUE, (isTimestamp ? "TIMESTAMP" : "DATE"), getTruncValue(truncValue), stringifyValues(DateTruncValue.values())); } truncd.setValue(newDT); return truncd; }
From source file:com.squarespace.template.plugins.PluginDateUtils.java
License:Apache License
public static boolean sameDay(long instant1, long instant2, String tzName) { DateTimeZone zone = null;//from w w w . j a v a 2 s . c o m try { zone = DateTimeZone.forID(tzName); } catch (IllegalArgumentException e) { zone = DateTimeZone.getDefault(); } DateTime date1 = new DateTime(instant1, zone); DateTime date2 = new DateTime(instant2, zone); return (date1.year().get() == date2.year().get()) && (date1.monthOfYear().get() == date2.monthOfYear().get()) && (date1.dayOfMonth().get() == date2.dayOfMonth().get()); }
From source file:com.squarespace.template.plugins.PluginDateUtils.java
License:Apache License
/** * Takes a strftime()-compatible format string and outputs the properly formatted date. *//*from ww w . ja va 2s . co m*/ public static void formatDate(Locale locale, String fmt, long instant, String tzName, StringBuilder buf) { DateTimeZone zone = null; try { zone = DateTimeZone.forID(tzName); } catch (IllegalArgumentException e) { zone = DateTimeZone.getDefault(); } DateTime date = new DateTime(instant, zone); int index = 0; int len = fmt.length(); while (index < len) { char c1 = fmt.charAt(index); index++; if (c1 != '%' || index == len) { buf.append(c1); continue; } char c2 = fmt.charAt(index); switch (c2) { case 'A': buf.append(date.dayOfWeek().getAsText(locale)); break; case 'a': buf.append(date.dayOfWeek().getAsShortText(locale)); break; case 'B': buf.append(date.monthOfYear().getAsText(locale)); break; case 'b': buf.append(date.monthOfYear().getAsShortText(locale)); break; case 'C': leftPad(date.centuryOfEra().get(), '0', 2, buf); break; case 'c': formatAggregate(DateTimeAggregate.FULL, locale, date, buf); break; case 'D': formatAggregate(DateTimeAggregate.MMDDYY, locale, date, buf); break; case 'd': leftPad(date.dayOfMonth().get(), '0', 2, buf); break; case 'e': leftPad(date.dayOfMonth().get(), ' ', 2, buf); break; case 'F': formatAggregate(DateTimeAggregate.YYYYMMDD, locale, date, buf); break; case 'G': buf.append(date.year().get()); break; case 'g': leftPad(date.yearOfCentury().get(), '0', 2, buf); break; case 'H': leftPad(date.hourOfDay().get(), '0', 2, buf); break; case 'h': buf.append(date.monthOfYear().getAsShortText(locale)); break; case 'I': leftPad(date.get(DateTimeFieldType.clockhourOfHalfday()), '0', 2, buf); break; case 'j': leftPad(date.dayOfYear().get(), '0', 3, buf); break; case 'k': leftPad(date.get(DateTimeFieldType.clockhourOfDay()), ' ', 2, buf); break; case 'l': leftPad(date.get(DateTimeFieldType.clockhourOfHalfday()), ' ', 2, buf); break; case 'M': leftPad(date.minuteOfHour().get(), '0', 2, buf); break; case 'm': leftPad(date.monthOfYear().get(), '0', 2, buf); break; case 'n': buf.append('\n'); break; case 'P': buf.append(date.get(DateTimeFieldType.halfdayOfDay()) == 0 ? "am" : "pm"); break; case 'p': buf.append(date.get(DateTimeFieldType.halfdayOfDay()) == 0 ? "AM" : "PM"); break; case 'R': formatAggregate(DateTimeAggregate.H240_M0, locale, date, buf); break; case 'S': leftPad(date.secondOfMinute().get(), '0', 2, buf); break; case 's': buf.append(instant / 1000); break; case 't': buf.append('\t'); break; case 'T': // Equivalent of %H:%M:%S formatAggregate(DateTimeAggregate.H240_M0, locale, date, buf); buf.append(':'); leftPad(date.secondOfMinute().get(), '0', 2, buf); break; case 'U': // TODO: fix week-of-year number leftPad(date.weekOfWeekyear().get(), '0', 2, buf); break; case 'u': buf.append(date.dayOfWeek().get()); break; case 'V': // TODO: fix week-of-year number leftPad(date.weekOfWeekyear().get(), '0', 2, buf); break; case 'v': // Equivalent of %e-%b-%Y leftPad(date.dayOfMonth().get(), ' ', 2, buf); buf.append('-'); buf.append(date.monthOfYear().getAsShortText()); buf.append('-'); buf.append(date.getYear()); break; case 'W': // TODO: fix week-of-year number break; case 'w': buf.append(date.dayOfWeek().get()); break; case 'X': formatAggregate(DateTimeAggregate.HHMMSSP, locale, date, buf); break; case 'x': formatAggregate(DateTimeAggregate.MMDDYYYY, locale, date, buf); break; case 'Y': buf.append(date.getYear()); break; case 'y': leftPad(date.getYearOfCentury(), '0', 2, buf); break; case 'Z': // Note: Joda's nameKey happens to be the same as the shortName. Making // this change to workaround Joda https://github.com/JodaOrg/joda-time/issues/288 buf.append(zone.getNameKey(date.getMillis())); break; case 'z': int offset = date.getZone().getOffset(instant) / 60000; int hours = (int) Math.floor(offset / 60); int minutes = (hours * 60) - offset; if (offset < 0) { buf.append('-'); } leftPad(Math.abs(hours), '0', 2, buf); leftPad(Math.abs(minutes), '0', 2, buf); break; default: // no match, emit literals. buf.append(c1).append(c2); } index++; } }
From source file:com.squarespace.template.plugins.PluginDateUtils.java
License:Apache License
private static void formatAggregate(DateTimeAggregate type, Locale locale, DateTime date, StringBuilder buf) { switch (type) { case FULL:// w ww. ja va 2s .co m buf.append(date.dayOfWeek().getAsShortText(locale)); buf.append(' '); leftPad(date.dayOfMonth().get(), '0', 2, buf); buf.append(' '); buf.append(date.monthOfYear().getAsShortText(locale)); buf.append(' '); buf.append(date.year().get()); buf.append(' '); leftPad(date.get(DateTimeFieldType.clockhourOfHalfday()), '0', 2, buf); buf.append(':'); leftPad(date.minuteOfHour().get(), '0', 2, buf); buf.append(':'); leftPad(date.secondOfMinute().get(), '0', 2, buf); buf.append(' '); buf.append(date.get(DateTimeFieldType.halfdayOfDay()) == 0 ? "AM" : "PM"); buf.append(' '); buf.append(date.getZone().getNameKey(date.getMillis())); break; case H240_M0: leftPad(date.get(DateTimeFieldType.clockhourOfDay()), '0', 2, buf); buf.append(':'); leftPad(date.minuteOfHour().get(), '0', 2, buf); break; case HHMMSSP: leftPad(date.get(DateTimeFieldType.hourOfHalfday()), '0', 2, buf); buf.append(':'); leftPad(date.getMinuteOfHour(), '0', 2, buf); buf.append(':'); leftPad(date.getSecondOfMinute(), '0', 2, buf); buf.append(' '); buf.append(date.get(DateTimeFieldType.halfdayOfDay()) == 0 ? "AM" : "PM"); break; case MMDDYY: leftPad(date.getMonthOfYear(), '0', 2, buf); buf.append('/'); leftPad(date.dayOfMonth().get(), '0', 2, buf); buf.append('/'); leftPad(date.yearOfCentury().get(), '0', 2, buf); break; case MMDDYYYY: leftPad(date.getMonthOfYear(), '0', 2, buf); buf.append('/'); leftPad(date.dayOfMonth().get(), '0', 2, buf); buf.append('/'); buf.append(date.getYear()); break; case YYYYMMDD: buf.append(date.year().get()); buf.append('-'); leftPad(date.monthOfYear().get(), '0', 2, buf); buf.append('-'); leftPad(date.dayOfMonth().get(), '0', 2, buf); break; default: break; } }
From source file:com.zaradai.kunzite.trader.services.md.eod.download.yahoo.YahooQuoteUrlFormatter.java
License:Apache License
@Override public String getUrl(String symbol, DateTime from, DateTime until) { Preconditions.checkArgument(!Strings.isNullOrEmpty(symbol)); Preconditions.checkNotNull(from);//from ww w . ja v a2s . c om Preconditions.checkNotNull(until); Preconditions.checkArgument(from.isBefore(until)); StringBuilder sb = new StringBuilder(PREFIX_TAG); sb.append(SYMBOL_TAG); sb.append(symbol); sb.append(FROM_MONTH_TAG); sb.append(from.monthOfYear().get() - 1); sb.append(FROM_DAY_TAG); sb.append(from.dayOfMonth().get()); sb.append(FROM_YEAR_TAG); sb.append(from.year().get()); sb.append(TO_MONTH_TAG); sb.append(until.monthOfYear().get() - 1); sb.append(TO_DAY_TAG); sb.append(until.dayOfMonth().get()); sb.append(TO_YEAR_TAG); sb.append(until.year().get()); sb.append(POSTFIX_TAG); return sb.toString(); }
From source file:edu.nyu.vida.data_polygamy.utils.FrameworkUtils.java
License:BSD License
public static String getTemporalStr(int temporalResolution, int time) { DateTime dt = new DateTime(((long) time) * 1000, DateTimeZone.UTC); String temporal = ""; switch (temporalResolution) { case HOUR:/* ww w.ja v a 2s.co m*/ temporal = dt.year().getAsString() + "-" + dt.monthOfYear().getAsString() + "-" + dt.dayOfMonth().getAsString() + "-" + dt.hourOfDay().getAsString(); break; case DAY: temporal = dt.year().getAsString() + "-" + dt.monthOfYear().getAsString() + "-" + dt.dayOfMonth().getAsString(); break; case WEEK: temporal = dt.weekyear().getAsString() + "-" + dt.weekOfWeekyear().getAsString(); break; case MONTH: temporal = dt.year().getAsString() + "-" + dt.monthOfYear().getAsString(); break; case YEAR: temporal = dt.year().getAsString(); break; default: temporal = null; break; } return temporal; }
From source file:edu.nyu.vida.data_polygamy.utils.FrameworkUtils.java
License:BSD License
public static String getTemporalStr(int temporalResolution, DateTime dt) { String temporal = ""; switch (temporalResolution) { case HOUR://from www .ja v a 2 s. co m temporal = dt.year().getAsString() + "-" + dt.monthOfYear().getAsString() + "-" + dt.dayOfMonth().getAsString() + "-" + dt.hourOfDay().getAsString(); break; case DAY: temporal = dt.year().getAsString() + "-" + dt.monthOfYear().getAsString() + "-" + dt.dayOfMonth().getAsString(); break; case WEEK: temporal = dt.weekyear().getAsString() + "-" + dt.weekOfWeekyear().getAsString(); break; case MONTH: temporal = dt.year().getAsString() + "-" + dt.monthOfYear().getAsString(); break; case YEAR: temporal = dt.year().getAsString(); break; default: temporal = null; break; } return temporal; }
From source file:edu.nyu.vida.data_polygamy.utils.FrameworkUtils.java
License:BSD License
public static int getTime(int temporalResolution, String[] input, int tempPosition) { String temporal = ""; String format = ""; long time = 0L; try {/*from w w w.ja va 2 s. c o m*/ time = ((long) Double.parseDouble(input[tempPosition])) * 1000; } catch (Exception e) { return -1; } if (time < 0) return -1; DateTime dt = new DateTime(time, DateTimeZone.UTC); switch (temporalResolution) { case HOUR: temporal = dt.year().getAsString() + "-" + dt.monthOfYear().getAsString() + "-" + dt.dayOfMonth().getAsString() + "-" + dt.hourOfDay().getAsString(); format = "yyyy-MM-dd-HH z"; break; case DAY: temporal = dt.year().getAsString() + "-" + dt.monthOfYear().getAsString() + "-" + dt.dayOfMonth().getAsString(); format = "yyyy-MM-dd z"; break; case WEEK: temporal = dt.weekyear().getAsString() + "-" + dt.weekOfWeekyear().getAsString(); format = "xxxx-ww z"; break; case MONTH: temporal = dt.year().getAsString() + "-" + dt.monthOfYear().getAsString(); format = "yyyy-MM z"; break; case YEAR: temporal = dt.year().getAsString(); format = "yyyy z"; break; default: temporal = null; format = ""; break; } if (temporal == null) return -1; DateTimeFormatter formatter = DateTimeFormat.forPattern(format); return (int) (formatter.parseDateTime(temporal + " UTC").getMillis() / 1000); }