List of usage examples for org.joda.time.format DateTimeParserBucket getZone
public DateTimeZone getZone()
From source file:org.renjin.primitives.time.Time.java
License:Open Source License
private static DateTime parseIgnoreTrailingCharacters(DateTimeFormatter formatter, String text) { // this is a modified version of DateTimeFormatter.parseDateTime() that does not // throw an exception on trailing characters Chronology chronology = DateTimeUtils.getChronology(null); DateTimeParser parser = formatter.getParser(); Locale locale = null;//from w w w .java 2 s.co m Integer pivotYear = null; int defaultYear = 2000; DateTimeZone timeZone = null; DateTimeParserBucket bucket = new DateTimeParserBucket(0, chronology, locale, pivotYear, defaultYear); int newPos = parser.parseInto(bucket, text, 0); if (newPos >= 0) { long millis = bucket.computeMillis(true, text); if (formatter.isOffsetParsed() && bucket.getOffsetInteger() != null) { int parsedOffset = bucket.getOffsetInteger(); DateTimeZone parsedZone = DateTimeZone.forOffsetMillis(parsedOffset); chronology = chronology.withZone(parsedZone); } else if (bucket.getZone() != null) { chronology = chronology.withZone(bucket.getZone()); } DateTime dt = new DateTime(millis, chronology); if (timeZone != null) { dt = dt.withZone(timeZone); } return dt; } throw new IllegalArgumentException(); }
From source file:org.whole.lang.xsd.parsers.AbstractISO8601DataTypeParser.java
License:Open Source License
public Object parseObject(EntityDescriptor<?> ed, String value) { DateTimeParser parser = getFormatter().getParser(); DateTimeParserBucket bucket = new DateTimeParserBucket(0, ISOChronology.getInstance(), null); // use a custom UTC to check if offset part is parsed if (bucket.getZone() == null) bucket.setZone(UTC);/*from w ww. ja va 2 s . c o m*/ if (parser.parseInto(bucket, value, 0) < 0) throw new WholeIllegalArgumentException(WholeMessages.no_data_type); DateTimeZone zone = bucket.getZone(); if (zone == null) return parseWithTimeZone(bucket); else return parseWithoutTimeZone(bucket); }