Example usage for org.joda.time DateTime year

List of usage examples for org.joda.time DateTime year

Introduction

In this page you can find the example usage for org.joda.time DateTime year.

Prototype

public Property year() 

Source Link

Document

Get the year property which provides access to advanced functionality.

Usage

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);
}