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:edu.nyu.vida.data_polygamy.utils.FrameworkUtils.java

License:BSD License

public static int getTime(int temporalResolution, int[] input, int tempPosition) {

    String temporal = "";
    String format = "";

    long time = 0L;

    try {//from  w  w  w.j  av  a 2 s  .c  o m
        time = ((long) input[tempPosition]) * 1000;
    } catch (Exception e) {
        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);
}

From source file:edu.unc.lib.dl.util.DateTimeUtil.java

License:Apache License

/**
 * Parse a date in any ISO 8601 format. Default TZ is based on Locale.
 *
 * @param isoDate//from  w w  w  . ja  v  a2 s.c om
 *           ISO8601 date/time string with or without TZ offset
 * @return a Joda DateTime object in UTC (call toString() to print)
 */
public static DateTime parseISO8601toUTC(String isoDate) {
    DateTime result = null;
    DateTimeFormatter fmt = ISODateTimeFormat.dateTimeParser().withOffsetParsed();
    // TODO what about preserving the precision of the original?
    DateTime isoDT = fmt.parseDateTime(isoDate);
    if (isoDT.year().get() > 9999) {
        // you parsed my month as part of the year!
        try {
            fmt = DateTimeFormat.forPattern("yyyyMMdd");
            fmt = fmt.withZone(DateTimeZone.forID("America/New_York"));
            isoDT = fmt.parseDateTime(isoDate);
        } catch (IllegalArgumentException e) {
            try {
                fmt = DateTimeFormat.forPattern("yyyyMM");
                fmt = fmt.withZone(DateTimeZone.forID("America/New_York"));
                isoDT = fmt.parseDateTime(isoDate);
            } catch (IllegalArgumentException e1) {
                try {
                    fmt = DateTimeFormat.forPattern("yyyy");
                    fmt = fmt.withZone(DateTimeZone.forID("America/New_York"));
                    isoDT = fmt.parseDateTime(isoDate);
                } catch (IllegalArgumentException ignored) {
                    // I guess we go with first parse?
                }
            }
        }
    }
    result = isoDT.withZoneRetainFields(DateTimeZone.forID("Etc/UTC"));
    return result;
}

From source file:file.PDFWriter.java

License:Open Source License

/**
 * Create a PDF Writer to write line notes to disk
 * @param role the role/*from w ww  .j a  v a  2 s.  c om*/
 * @param date the rehearsal date
 * @param title the title of the show
 * @throws FileNotFoundException
 * @throws DocumentException
 */
public PDFWriter(Role role, DateTime date, String title) throws FileNotFoundException, DocumentException {
    this.role = role;
    this.date = date;
    directory = "out/" + title + "/notes/" + date.monthOfYear().getAsString() + "-"
            + date.dayOfMonth().getAsString() + "/";
    setFontStyles();

    System.out.println(
            directory + "UT_LineNotes" + role.getName().replaceAll(" ", "") + date.monthOfYear().getAsString()
                    + "-" + date.dayOfMonth().getAsString() + "-" + date.year().get() + ".pdf");
    File file = new File(
            directory + "UT_LineNotes" + role.getName().replaceAll(" ", "") + date.monthOfYear().getAsString()
                    + "-" + date.dayOfMonth().getAsString() + "-" + date.year().get() + ".pdf");
    file.getParentFile().mkdirs();
    FileOutputStream fileout = new FileOutputStream(file);
    document = new Document();
    PdfWriter.getInstance(document, fileout);
    document.addAuthor("Nathan Gingrich");
    document.addTitle("Line Notes " + role.getName());
    document.open();
}

From source file:graph.inference.module.LaterThanWorker.java

License:Open Source License

private Interval parseDate(DAGNode date, DateTime now) {
    String dateStr = date.toString();
    if (dateStr.equals("Now") || dateStr.equals("Now-Generally"))
        return new Interval(now.getMillis(), now.getMillis() + 1);
    if (dateStr.equals("Today-Indexical"))
        return new Interval(now.dayOfYear().roundFloorCopy(), now.dayOfYear().roundCeilingCopy());
    if (dateStr.equals("Tomorrow-Indexical")) {
        return new Interval(now.plusDays(1).dayOfYear().roundFloorCopy(),
                now.plusDays(1).dayOfYear().roundCeilingCopy());
    }//from  w  w w . j a v  a  2  s  .c o m
    if (dateStr.equals("Yesterday-Indexical")) {
        return new Interval(now.minusDays(1).dayOfYear().roundFloorCopy(),
                now.minusDays(1).dayOfYear().roundCeilingCopy());
    }
    if (dateStr.equals("TheYear-Indexical")) {
        return new Interval(now.year().roundFloorCopy(), now.year().roundCeilingCopy());
    }

    // Parse the date from the DAGNode
    String parsePattern = null;
    for (int i = DATE_PARSE_INTERVALS.length - 1; i >= 0; i--) {
        StringBuilder newPattern = new StringBuilder("(" + DATE_PARSE_INTERVALS[i]);
        if (parsePattern != null)
            newPattern.append(" " + parsePattern);
        newPattern.append(")");
        parsePattern = newPattern.toString();

        DateTimeFormatter dtf = DateTimeFormat.forPattern(parsePattern);
        try {
            DateTime dateTime = dtf.parseDateTime(dateStr);
            if (dateTime != null) {
                switch (i) {
                case 0:
                    return new Interval(dateTime.getMillis(),
                            dateTime.plusSeconds(1).minusMillis(1).getMillis());
                case 1:
                    return new Interval(dateTime.getMillis(),
                            dateTime.plusMinutes(1).minusMillis(1).getMillis());
                case 2:
                    return new Interval(dateTime.getMillis(), dateTime.plusHours(1).minusMillis(1).getMillis());
                case 3:
                    return new Interval(dateTime.getMillis(), dateTime.plusDays(1).minusMillis(1).getMillis());
                case 4:
                    return new Interval(dateTime.getMillis(),
                            dateTime.plusMonths(1).minusMillis(1).getMillis());
                case 5:
                    return new Interval(dateTime.getMillis(), dateTime.plusYears(1).minusMillis(1).getMillis());
                }
            }
        } catch (Exception e) {
        }
    }
    return null;
}

From source file:io.druid.query.expression.TimestampExtractExprMacro.java

License:Apache License

@Override
public Expr apply(final List<Expr> args) {
    if (args.size() < 2 || args.size() > 3) {
        throw new IAE("Function[%s] must have 2 to 3 arguments", name());
    }/*from   ww w .  j a v a 2s  .co  m*/

    if (!args.get(1).isLiteral() || args.get(1).getLiteralValue() == null) {
        throw new IAE("Function[%s] unit arg must be literal", name());
    }

    if (args.size() > 2 && !args.get(2).isLiteral()) {
        throw new IAE("Function[%s] timezone arg must be literal", name());
    }

    final Expr arg = args.get(0);
    final Unit unit = Unit.valueOf(((String) args.get(1).getLiteralValue()).toUpperCase());
    final DateTimeZone timeZone;

    if (args.size() > 2) {
        timeZone = ExprUtils.toTimeZone(args.get(2));
    } else {
        timeZone = DateTimeZone.UTC;
    }

    final ISOChronology chronology = ISOChronology.getInstance(timeZone);

    class TimestampExtractExpr implements Expr {
        @Nonnull
        @Override
        public ExprEval eval(final ObjectBinding bindings) {
            final DateTime dateTime = new DateTime(arg.eval(bindings).asLong()).withChronology(chronology);
            switch (unit) {
            case EPOCH:
                return ExprEval.of(dateTime.getMillis());
            case SECOND:
                return ExprEval.of(dateTime.secondOfMinute().get());
            case MINUTE:
                return ExprEval.of(dateTime.minuteOfHour().get());
            case HOUR:
                return ExprEval.of(dateTime.hourOfDay().get());
            case DAY:
                return ExprEval.of(dateTime.dayOfMonth().get());
            case DOW:
                return ExprEval.of(dateTime.dayOfWeek().get());
            case DOY:
                return ExprEval.of(dateTime.dayOfYear().get());
            case WEEK:
                return ExprEval.of(dateTime.weekOfWeekyear().get());
            case MONTH:
                return ExprEval.of(dateTime.monthOfYear().get());
            case QUARTER:
                return ExprEval.of((dateTime.monthOfYear().get() - 1) / 3 + 1);
            case YEAR:
                return ExprEval.of(dateTime.year().get());
            default:
                throw new ISE("Unhandled unit[%s]", unit);
            }
        }

        @Override
        public void visit(final Visitor visitor) {
            arg.visit(visitor);
            visitor.visit(this);
        }
    }

    return new TimestampExtractExpr();
}

From source file:net.lshift.diffa.config.YearlyPeriodUnit.java

License:Apache License

@Override
protected DateTime floor(DateTime instant) {
    return instant.year().roundFloorCopy();
}

From source file:net.lshift.diffa.config.YearlyPeriodUnit.java

License:Apache License

@Override
protected DateTime ceiling(DateTime instant) {
    return instant.year().roundCeilingCopy();
}

From source file:net.schweerelos.timeline.model.Timeline.java

License:Open Source License

private void recalculate() {
    if (start == null || end == null) {
        logger.warn("recalculating aborted, start and/or end is null");
        numSlices = 0;/*w w w  . j  a  va  2 s . com*/
        return;
    }
    Interval interval = new Interval(start, end);

    if (Years.yearsIn(interval).isGreaterThan(Years.ZERO)) {
        // make it start at the start of the current increment mode
        start = start.withDayOfYear(start.dayOfYear().getMinimumValue());
        end = end.withDayOfYear(end.dayOfYear().getMaximumValue());
        interval = new Interval(start, end);

        // figure out number of slices
        numSlices = Years.yearsIn(interval).getYears();
        if (start.plusYears(numSlices).isBefore(end)) {
            numSlices += 1;
        }

        // update label extractor
        sliceLabelExtractor = new SliceLabelExtractor() {
            @Override
            public String extractLabel(DateTime from) {
                return from.year().getAsShortText();
            }
        };

        // update increment
        increment = Years.ONE.toPeriod();
        incrementMode = Mode.Years;
    } else if (Months.monthsIn(interval).isGreaterThan(Months.ZERO)) {
        // make it start at the start of the current increment mode
        start = start.withDayOfMonth(start.dayOfMonth().getMinimumValue());
        end = end.withDayOfMonth(end.dayOfMonth().getMaximumValue());
        interval = new Interval(start, end);

        numSlices = Months.monthsIn(interval).getMonths();
        if (start.plusMonths(numSlices).isBefore(end)) {
            numSlices += 1;
        }

        sliceLabelExtractor = new SliceLabelExtractor() {
            @Override
            public String extractLabel(DateTime from) {
                return from.monthOfYear().getAsShortText();
            }
        };

        increment = Months.ONE.toPeriod();
        incrementMode = Mode.Months;
    } else if (Weeks.weeksIn(interval).isGreaterThan(Weeks.ZERO)) {
        start = start.withDayOfWeek(start.dayOfWeek().getMinimumValue());
        end = end.withDayOfWeek(end.dayOfWeek().getMaximumValue());
        interval = new Interval(start, end);

        numSlices = Weeks.weeksIn(interval).getWeeks();
        if (start.plusWeeks(numSlices).isBefore(end)) {
            numSlices += 1;
        }

        sliceLabelExtractor = new SliceLabelExtractor() {
            @Override
            public String extractLabel(DateTime from) {
                return "W" + from.weekOfWeekyear().getAsShortText();
            }
        };

        increment = Weeks.ONE.toPeriod();
        incrementMode = Mode.Weeks;
    } else {
        numSlices = Days.daysIn(interval).getDays();
        if (start.plusDays(numSlices).isBefore(end)) {
            numSlices += 1;
        }
        if (numSlices == 0) {
            // force at least one day to be drawn
            numSlices = 1;
        }

        sliceLabelExtractor = new SliceLabelExtractor() {
            @Override
            public String extractLabel(DateTime from) {
                return from.dayOfMonth().getAsShortText();
            }
        };

        increment = Days.ONE.toPeriod();
        incrementMode = Mode.Days;
    }

    // reset time of day too
    start = start.withMillisOfDay(start.millisOfDay().getMinimumValue());
    end = end.withMillisOfDay(end.millisOfDay().getMaximumValue());

    // recalculate which intervals are within range
    intervalsWithinRange.clear();
    intervalsWithinRange.addAll(calculateIntervalsWithinRange(start, end));

    // notify listeners
    changeSupport.firePropertyChange(INTERVAL_PROPERTY_KEY, interval, new Interval(start, end));
}

From source file:net.sf.jasperreports.functions.standard.DateTimeFunctions.java

License:Open Source License

/**
 * Checks if the given date occurs in a leap year.
 *///from  w  w  w. ja  v  a2  s .  co m
@Function("ISLEAPYEAR")
@FunctionParameters({ @FunctionParameter("dateObj") })
public Boolean ISLEAPYEAR(Object dateObj) {
    Date date = convertDateObject(dateObj);
    if (date == null) {
        logCannotConvertToDate();
        return null;
    } else {
        DateTime dt = new DateTime(date);
        return dt.year().isLeap();
    }
}

From source file:nl.basjes.parse.dissectors.http.TimeStampDissector.java

License:Open Source License

@Override
public void dissect(final Parsable<?> parsable, final String inputname) throws DissectionFailure {
    final ParsedField field = parsable.getParsableField(INPUT_TYPE, inputname);
    final String fieldValue = field.getValue();
    if (fieldValue == null || fieldValue.isEmpty()) {
        return; // Nothing to do here
    }//from   w  w w .j a  va2s  .c o m

    if (wantAnyAsParsed || wantAnyTZIndependent) {
        // FIXME: YUCK ! Parsing the same thing TWICE just for the Zone ?!?!?
        DateTime dateTime = asParsedFormatter.parseDateTime(fieldValue);
        DateTimeZone zone = dateTime.getZone();
        DateTimeFormatter asParsedWithZoneFormatter = asParsedFormatter.withZone(zone);
        dateTime = asParsedWithZoneFormatter.parseDateTime(fieldValue);

        // As parsed
        if (wantDay) {
            parsable.addDissection(inputname, "TIME.DAY", "day", dateTime.dayOfMonth().getAsString());
        }
        if (wantMonthname) {
            parsable.addDissection(inputname, "TIME.MONTHNAME", "monthname",
                    dateTime.monthOfYear().getAsText(Locale.getDefault()));
        }
        if (wantMonth) {
            parsable.addDissection(inputname, "TIME.MONTH", "month", dateTime.monthOfYear().getAsString());
        }
        if (wantWeekOfWeekYear) {
            parsable.addDissection(inputname, "TIME.WEEK", "weekofweekyear",
                    dateTime.weekOfWeekyear().getAsString());
        }
        if (wantWeekYear) {
            parsable.addDissection(inputname, "TIME.YEAR", "weekyear", dateTime.weekyear().getAsString());
        }
        if (wantYear) {
            parsable.addDissection(inputname, "TIME.YEAR", "year", dateTime.year().getAsString());
        }
        if (wantHour) {
            parsable.addDissection(inputname, "TIME.HOUR", "hour", dateTime.hourOfDay().getAsString());
        }
        if (wantMinute) {
            parsable.addDissection(inputname, "TIME.MINUTE", "minute", dateTime.minuteOfHour().getAsString());
        }
        if (wantSecond) {
            parsable.addDissection(inputname, "TIME.SECOND", "second", dateTime.secondOfMinute().getAsString());
        }
        if (wantMillisecond) {
            parsable.addDissection(inputname, "TIME.MILLISECOND", "millisecond",
                    dateTime.millisOfSecond().getAsString());
        }

        // Timezone independent
        if (wantTimezone) {
            parsable.addDissection(inputname, "TIME.TIMEZONE", "timezone", dateTime.getZone().getID());
        }
        if (wantEpoch) {
            parsable.addDissection(inputname, "TIME.EPOCH", "epoch", Long.toString(dateTime.getMillis()));
        }
    }

    if (wantAnyUTC) {
        // In UTC timezone
        DateTime dateTime = formatter.parseDateTime(fieldValue);

        if (wantDayUTC) {
            parsable.addDissection(inputname, "TIME.DAY", "day_utc", dateTime.dayOfMonth().getAsString());
        }
        if (wantMonthnameUTC) {
            parsable.addDissection(inputname, "TIME.MONTHNAME", "monthname_utc",
                    dateTime.monthOfYear().getAsText(Locale.getDefault()));
        }
        if (wantMonthUTC) {
            parsable.addDissection(inputname, "TIME.MONTH", "month_utc", dateTime.monthOfYear().getAsString());
        }
        if (wantWeekOfWeekYearUTC) {
            parsable.addDissection(inputname, "TIME.WEEK", "weekofweekyear_utc",
                    dateTime.weekOfWeekyear().getAsString());
        }
        if (wantWeekYearUTC) {
            parsable.addDissection(inputname, "TIME.YEAR", "weekyear_utc", dateTime.weekyear().getAsString());
        }
        if (wantYearUTC) {
            parsable.addDissection(inputname, "TIME.YEAR", "year_utc", dateTime.year().getAsString());
        }
        if (wantHourUTC) {
            parsable.addDissection(inputname, "TIME.HOUR", "hour_utc", dateTime.hourOfDay().getAsString());
        }
        if (wantMinuteUTC) {
            parsable.addDissection(inputname, "TIME.MINUTE", "minute_utc",
                    dateTime.minuteOfHour().getAsString());
        }
        if (wantSecondUTC) {
            parsable.addDissection(inputname, "TIME.SECOND", "second_utc",
                    dateTime.secondOfMinute().getAsString());
        }
        if (wantMillisecondUTC) {
            parsable.addDissection(inputname, "TIME.MILLISECOND", "millisecond_utc",
                    dateTime.millisOfSecond().getAsString());
        }
    }
}