/** * Returns a representation of the date from the value attributes as ISO * 8601 encoding. * * @param value * @return ISO 8601 value (String) */ public static String formatTimeISO8601(TimeValue value) { StringBuilder builder = new StringBuilder(); DecimalFormat yearForm = new DecimalFormat(FORMAT_YEAR); DecimalFormat timeForm = new DecimalFormat(FORMAT_OTHER); if (value.getYear() > 0) { builder.append("+"); } builder.append(yearForm.format(value.getYear())); builder.append("-"); builder.append(timeForm.format(value.getMonth())); builder.append("-"); builder.append(timeForm.format(value.getDay())); builder.append("T"); builder.append(timeForm.format(value.getHour())); builder.append(":"); builder.append(timeForm.format(value.getMinute())); builder.append(":"); builder.append(timeForm.format(value.getSecond())); builder.append("Z"); return builder.toString(); }
/** * Returns a representation of the date from the value attributes as ISO * 8601 encoding. * * @param value * @return ISO 8601 value (String) */ public static String formatTimeISO8601(TimeValue value) { StringBuilder builder = new StringBuilder(); DecimalFormat yearForm = new DecimalFormat(FORMAT_YEAR); DecimalFormat timeForm = new DecimalFormat(FORMAT_OTHER); if (value.getYear() > 0) { builder.append("+"); } builder.append(yearForm.format(value.getYear())); builder.append("-"); builder.append(timeForm.format(value.getMonth())); builder.append("-"); builder.append(timeForm.format(value.getDay())); builder.append("T"); builder.append(timeForm.format(value.getHour())); builder.append(":"); builder.append(timeForm.format(value.getMinute())); builder.append(":"); builder.append(timeForm.format(value.getSecond())); builder.append("Z"); return builder.toString(); }
@Override public WikidataValue visit(TimeValue value) { Calendar c = new GregorianCalendar( ((int)value.getYear()), value.getMonth()-1, value.getDay(), value.getHour(), value.getMinute(), value.getSecond()); return new WikidataValue( WikidataValue.Type.TIME, c.getTime(), jsonValue ); }
@Override public WikidataValue visit(TimeValue value) { Calendar c = new GregorianCalendar( ((int)value.getYear()), value.getMonth()-1, value.getDay(), value.getHour(), value.getMinute(), value.getSecond()); return new WikidataValue( WikidataValue.Type.TIME, c.getTime(), jsonValue ); }
public static String getTimeValueUri(TimeValue value) { md.reset(); updateMessageDigestWithLong(md, value.getYear()); md.update(value.getMonth()); md.update(value.getDay()); md.update(value.getHour()); md.update(value.getMinute()); md.update(value.getSecond()); updateMessageDigestWithString(md, value.getPreferredCalendarModel()); updateMessageDigestWithInt(md, value.getBeforeTolerance()); updateMessageDigestWithInt(md, value.getAfterTolerance()); updateMessageDigestWithInt(md, value.getTimezoneOffset()); return PREFIX_WIKIDATA_VALUE + bytesToHex(md.digest()); }
public static String getTimeValueUri(TimeValue value) { md.reset(); updateMessageDigestWithLong(md, value.getYear()); md.update(value.getMonth()); md.update(value.getDay()); md.update(value.getHour()); md.update(value.getMinute()); md.update(value.getSecond()); updateMessageDigestWithString(md, value.getPreferredCalendarModel()); updateMessageDigestWithInt(md, value.getBeforeTolerance()); updateMessageDigestWithInt(md, value.getAfterTolerance()); updateMessageDigestWithInt(md, value.getTimezoneOffset()); return PREFIX_WIKIDATA + VALUE_PREFIX_TIME + bytesToHex(md.digest()); }
/** * Returns the RDF literal to encode the time component of a given time * value. * <p> * Times with limited precision are encoded using limited-precision XML * Schema datatypes, such as gYear, if available. Wikidata encodes the year * 1BCE as 0000, while XML Schema, even in version 2, does not allow 0000 * and interprets -0001 as 1BCE. Thus all negative years must be shifted by * 1, but we only do this if the year is precise. * * @param value * the value to convert * @param rdfWriter * the object to use for creating the literal * @return the RDF literal */ private static Literal getTimeLiteral(TimeValue value, RdfWriter rdfWriter) { long year = value.getYear(); //Year normalization if (year == 0 || (year < 0 && value.getPrecision() >= TimeValue.PREC_YEAR)) { year--; } String timestamp = String.format("%04d-%02d-%02dT%02d:%02d:%02dZ", year, value.getMonth(), value.getDay(), value.getHour(), value.getMinute(), value.getSecond()); return rdfWriter.getLiteral(timestamp, RdfWriter.XSD_DATETIME); }
+ timeForm.format(o.getMonth()) + "-" + timeForm.format(o.getDay())
+ timeForm.format(o.getMonth()) + "-" + timeForm.format(o.getDay())
/** * Returns a hash code for the given object. * * @see java.lang.Object#hashCode() * @param o * the object to create a hash for * @return the hash code of the object */ public static int hashCode(TimeValue o) { int result; result = Long.hashCode(o.getYear()); result = prime * result + o.getMonth(); result = prime * result + o.getDay(); result = prime * result + o.getHour(); result = prime * result + o.getMinute(); result = prime * result + o.getSecond(); result = prime * result + o.getPrecision(); result = prime * result + o.getBeforeTolerance(); result = prime * result + o.getAfterTolerance(); result = prime * result + o.getTimezoneOffset(); result = prime * result + o.getPreferredCalendarModel().hashCode(); return result; }
/** * Returns a hash code for the given object. * * @see java.lang.Object#hashCode() * @param o * the object to create a hash for * @return the hash code of the object */ public static int hashCode(TimeValue o) { int result; result = Long.hashCode(o.getYear()); result = prime * result + o.getMonth(); result = prime * result + o.getDay(); result = prime * result + o.getHour(); result = prime * result + o.getMinute(); result = prime * result + o.getSecond(); result = prime * result + o.getPrecision(); result = prime * result + o.getBeforeTolerance(); result = prime * result + o.getAfterTolerance(); result = prime * result + o.getTimezoneOffset(); result = prime * result + o.getPreferredCalendarModel().hashCode(); return result; }
/** * Copies a {@link TimeValue}. * * @param object * object to copy * @return copied object */ public TimeValue copy(TimeValue object) { return dataObjectFactory.getTimeValue(object.getYear(), object.getMonth(), object.getDay(), object.getHour(), object.getMinute(), object.getSecond(), object.getPrecision(), object.getBeforeTolerance(), object.getAfterTolerance(), object.getTimezoneOffset(), object.getPreferredCalendarModel()); }
/** * Copies a {@link TimeValue}. * * @param object * object to copy * @return copied object */ public TimeValue copy(TimeValue object) { return dataObjectFactory.getTimeValue(object.getYear(), object.getMonth(), object.getDay(), object.getHour(), object.getMinute(), object.getSecond(), object.getPrecision(), object.getBeforeTolerance(), object.getAfterTolerance(), object.getTimezoneOffset(), object.getPreferredCalendarModel()); }