/** * Get a calendar for the given timezone. * * @param tz timezone for the calendar, is never null * @return a calendar instance. A cached instance is returned where possible */ private static GregorianCalendar getCalendar(TimeZone tz) { GregorianCalendar c = CACHED_CALENDAR_NON_DEFAULT_TIMEZONE.get(); if (c == null || !c.getTimeZone().equals(tz)) { c = createGregorianCalendar(tz); CACHED_CALENDAR_NON_DEFAULT_TIMEZONE.set(c); } c.clear(); return c; }
@Override protected void computeFields() { TimeZone timeZone = getTimeZone(); int dstOffset = timeZone.inDaylightTime(new Date(time)) ? timeZone.getDSTSavings() : 0; int zoneOffset = timeZone.getRawOffset(); fields[DST_OFFSET] = dstOffset; fields[ZONE_OFFSET] = zoneOffset; fullFieldsCalc(time, zoneOffset); for (int i = 0; i < FIELD_COUNT; i++) { isSet[i] = true; } }
public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) { GregorianCalendar calendar = (GregorianCalendar) source; ExtendedHierarchicalStreamWriterHelper.startNode(writer, "time", long.class); long timeInMillis = calendar.getTime().getTime(); // calendar.getTimeInMillis() not available under JDK 1.3 writer.setValue(String.valueOf(timeInMillis)); writer.endNode(); ExtendedHierarchicalStreamWriterHelper.startNode(writer, "timezone", String.class); writer.setValue(calendar.getTimeZone().getID()); writer.endNode(); }
int zoneOffset = getTimeZone().getRawOffset(); int offsetBefore = getOffset(time + zoneOffset); int offsetAfter = getOffset(time + zoneOffset + delta);
private int getOffset(long localTime) { TimeZone timeZone = getTimeZone();
+ getTimeZone().getRawOffset(); timeVal -= getOffset(timeValWithoutDST);
@Override public String convertToString(Object object) { if (object instanceof GregorianCalendar == false) { throw new RuntimeException("Unable to convert calendar as it is not a GregorianCalendar"); } GregorianCalendar cal = (GregorianCalendar) object; SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); f.setCalendar(cal); String str = f.format(cal.getTime()); return str.substring(0, 26) + ":" + str.substring(26) + "[" + cal.getTimeZone().getID() + "]"; } @Override
Date dob=null; DateFormat df=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); dob=df.parse( "2014-02-10 11:15:00" ); GregorianCalendar cal = new GregorianCalendar(); cal.setTime(dob); XMLGregorianCalendar xmlDate2 = DatatypeFactory.newInstance().newXMLGregorianCalendar(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH)+1, cal.get(Calendar.DAY_OF_MONTH), dob.getHours(),dob.getMinutes(),dob.getSeconds(),DatatypeConstants.FIELD_UNDEFINED, cal.getTimeZone().LONG).normalize(); XMLGregorianCalendar xmlDate3 = DatatypeFactory.newInstance().newXMLGregorianCalendar(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH)+1, cal.get(Calendar.DAY_OF_MONTH),dob.getHours(),dob.getMinutes(),dob.getSeconds(),DatatypeConstants.FIELD_UNDEFINED, DatatypeConstants.FIELD_UNDEFINED); System.out.println(xmlDate2); System.out.println(xmlDate3);
int dstOffset = fields[YEAR] <= 0 ? 0 : getTimeZone().getOffset(AD, fields[YEAR], month, date, fields[DAY_OF_WEEK], millis); if (fields[YEAR] > 0) {
/** * Calendar constructor in terms of UTC. Any time-related information of the given calendar will be lost; only the date will be kept, in terms of the * calendar's time zone. * @param calendar The calendar representing the difference, measured in milliseconds, between the current time and midnight, January 1, 1970 UTC; and a time * zone. * @throws NullPointerException if the given calendar is <code>null</code>. */ public ISODate(final GregorianCalendar calendar) { this(calendar.getTime(), calendar.getTimeZone()); }
@Override protected void computeFields() { TimeZone timeZone = getTimeZone(); int dstOffset = timeZone.inDaylightTime(new Date(time)) ? timeZone.getDSTSavings() : 0; int zoneOffset = timeZone.getRawOffset(); fields[DST_OFFSET] = dstOffset; fields[ZONE_OFFSET] = zoneOffset; fullFieldsCalc(time, zoneOffset); for (int i = 0; i < FIELD_COUNT; i++) { isSet[i] = true; } }
@Override protected void computeFields() { TimeZone timeZone = getTimeZone(); int dstOffset = timeZone.inDaylightTime(new Date(time)) ? timeZone.getDSTSavings() : 0; int zoneOffset = timeZone.getRawOffset(); fields[DST_OFFSET] = dstOffset; fields[ZONE_OFFSET] = zoneOffset; fullFieldsCalc(time, zoneOffset); for (int i = 0; i < FIELD_COUNT; i++) { isSet[i] = true; } }
@Override protected void computeFields() { TimeZone timeZone = getTimeZone(); int dstOffset = timeZone.inDaylightTime(new Date(time)) ? timeZone.getDSTSavings() : 0; int zoneOffset = timeZone.getRawOffset(); fields[DST_OFFSET] = dstOffset; fields[ZONE_OFFSET] = zoneOffset; fullFieldsCalc(time, zoneOffset); for (int i = 0; i < FIELD_COUNT; i++) { isSet[i] = true; } }
@Override protected void computeFields() { TimeZone timeZone = getTimeZone(); int dstOffset = timeZone.inDaylightTime(new Date(time)) ? timeZone.getDSTSavings() : 0; int zoneOffset = timeZone.getRawOffset(); fields[DST_OFFSET] = dstOffset; fields[ZONE_OFFSET] = zoneOffset; fullFieldsCalc(time, zoneOffset); for (int i = 0; i < FIELD_COUNT; i++) { isSet[i] = true; } }
@Override protected void computeFields() { TimeZone timeZone = getTimeZone(); int dstOffset = timeZone.inDaylightTime(new Date(time)) ? timeZone.getDSTSavings() : 0; int zoneOffset = timeZone.getRawOffset(); fields[DST_OFFSET] = dstOffset; fields[ZONE_OFFSET] = zoneOffset; fullFieldsCalc(time, zoneOffset); for (int i = 0; i < FIELD_COUNT; i++) { isSet[i] = true; } }
@Override protected void computeFields() { TimeZone timeZone = getTimeZone(); int dstOffset = timeZone.inDaylightTime(new Date(time)) ? timeZone.getDSTSavings() : 0; int zoneOffset = timeZone.getRawOffset(); fields[DST_OFFSET] = dstOffset; fields[ZONE_OFFSET] = zoneOffset; fullFieldsCalc(time, zoneOffset); for (int i = 0; i < FIELD_COUNT; i++) { isSet[i] = true; } }
@Override protected String formatDefault(XMLGregorianCalendar value, Locale locale) { DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE_TIME; return formatter .withLocale(locale) .withZone(value.toGregorianCalendar().getTimeZone().toZoneId()) .format(toTemporalAccessor(value)); }
public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) { GregorianCalendar calendar = (GregorianCalendar) source; ExtendedHierarchicalStreamWriterHelper.startNode(writer, "time", long.class); long timeInMillis = calendar.getTime().getTime(); // calendar.getTimeInMillis() not available under JDK 1.3 writer.setValue(String.valueOf(timeInMillis)); writer.endNode(); ExtendedHierarchicalStreamWriterHelper.startNode(writer, "timezone", String.class); writer.setValue(calendar.getTimeZone().getID()); writer.endNode(); }
public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) { GregorianCalendar calendar = (GregorianCalendar) source; ExtendedHierarchicalStreamWriterHelper.startNode(writer, "time", long.class); long timeInMillis = calendar.getTime().getTime(); // calendar.getTimeInMillis() not available under JDK 1.3 writer.setValue(String.valueOf(timeInMillis)); writer.endNode(); ExtendedHierarchicalStreamWriterHelper.startNode(writer, "timezone", String.class); writer.setValue(calendar.getTimeZone().getID()); writer.endNode(); }
@Override public void marshal(final Object source, final HierarchicalStreamWriter writer, final MarshallingContext context) { final GregorianCalendar calendar = (GregorianCalendar)source; writer.startNode("time", long.class); final long timeInMillis = calendar.getTimeInMillis(); writer.setValue(String.valueOf(timeInMillis)); writer.endNode(); writer.startNode("timezone", String.class); writer.setValue(calendar.getTimeZone().getID()); writer.endNode(); }