Home | History | Annotate | Download | only in util

Lines Matching defs:ZoneInfo

35  * Our concrete TimeZone implementation, backed by zoneinfo data.
46 * implementations. See {@link ZoneInfo#readTimeZone(String, BufferIterator, long)}.
65 public final class ZoneInfo extends TimeZone {
118 * future) and stored in a file from which {@link ZoneInfo#readTimeZone(String, BufferIterator,
124 * <p>In terms of {@link ZoneInfo tzfile} structure this array is of length {@code tzh_timecnt}
144 * <p>In the {@link ZoneInfo tzfile} structure the type array only contains unique instances of
181 public static ZoneInfo readTimeZone(String id, BufferIterator it, long currentTimeMillis)
207 throw new IOException("ZoneInfo requires at least one type "
264 return new ZoneInfo(id, transitions64, type, gmtOffsets, isDsts, currentTimeMillis);
267 private ZoneInfo(String name, long[] transitions, byte[] types, int[] gmtOffsets, byte[] isDsts,
270 throw new IllegalArgumentException("ZoneInfo requires at least one offset "
297 throw new IllegalStateException( "ZoneInfo requires at least one non-DST "
618 if (!(timeZone instanceof ZoneInfo)) {
621 ZoneInfo other = (ZoneInfo) timeZone;
637 if (!(obj instanceof ZoneInfo)) {
640 ZoneInfo other = (ZoneInfo) obj;
731 public void localtime(int timeSeconds, ZoneInfo zoneInfo) {
733 int offsetSeconds = zoneInfo.mRawOffset / 1000;
737 if (zoneInfo.mTransitions.length == 0) {
740 // offsetIndex can be in the range -1..zoneInfo.mOffsets.length - 1
741 int offsetIndex = zoneInfo.findOffsetIndexForTimeInSeconds(timeSeconds);
748 offsetSeconds += zoneInfo.mOffsets[offsetIndex];
749 zoneInfo.mIsDsts[offsetIndex];
790 public int mktime(ZoneInfo zoneInfo) {
805 final int rawOffsetSeconds = zoneInfo.mRawOffset / 1000;
808 if (zoneInfo.mTransitions.length == 0) {
825 // The initialTransition can be between -1 and (zoneInfo.mTransitions - 1). -1
828 final int initialTransitionIndex = zoneInfo.findTransitionIndex(rawTimeSeconds);
836 Integer result = doWallTimeSearch(zoneInfo, initialTransitionIndex,
846 Integer result = doWallTimeSearch(zoneInfo, initialTransitionIndex, wallTimeSeconds,
849 result = doWallTimeSearch(zoneInfo, initialTransitionIndex, wallTimeSeconds,
881 private Integer tryOffsetAdjustments(ZoneInfo zoneInfo, int oldWallTimeSeconds,
885 int[] offsetsToTry = getOffsetsOfType(zoneInfo, transitionIndex, isDstToFind);
887 int rawOffsetSeconds = zoneInfo.mRawOffset / 1000;
913 private static int[] getOffsetsOfType(ZoneInfo zoneInfo, int startIndex, int isDst) {
915 int[] offsets = new int[zoneInfo.mOffsets.length + 1];
916 boolean[] seen = new boolean[zoneInfo.mOffsets.length];
933 } else if (delta > 0 && transitionIndex >= zoneInfo.mTypes.length) {
946 int type = zoneInfo.mTypes[transitionIndex] & 0xff;
948 if (zoneInfo.mIsDsts[type] == isDst) {
949 offsets[numFound++] = zoneInfo.mOffsets[type];
977 private Integer doWallTimeSearch(ZoneInfo zoneInfo, int initialTransitionIndex,
1008 OffsetInterval.create(zoneInfo, currentTransitionIndex);
1048 Integer returnValue = tryOffsetAdjustments(zoneInfo, wallTimeSeconds,
1220 public static OffsetInterval create(ZoneInfo timeZone, int transitionIndex)