TzInfo(final TimeZone tz, final boolean useDst) { zone = tz; dstOffset = useDst ?tz.getDSTSavings() :0; } }
TzInfo(final TimeZone tz, final boolean useDst) { zone = tz; dstOffset = useDst ? tz.getDSTSavings() : 0; } }
TzInfo(final TimeZone tz, final boolean useDst) { zone = tz; dstOffset = useDst ? tz.getDSTSavings() : 0; } }
/** * Returns the offset in milliseconds from UTC for this time zone at {@code * time}. The offset includes daylight savings time if the specified * date is within the daylight savings time period. * * @param time the date in milliseconds since January 1, 1970 00:00:00 UTC */ public int getOffset(long time) { if (inDaylightTime(new Date(time))) { return getRawOffset() + getDSTSavings(); } return getRawOffset(); }
Calendar c = Calendar.getInstance(); System.out.println("current: "+c.getTime()); TimeZone z = c.getTimeZone(); int offset = z.getRawOffset(); if(z.inDaylightTime(new Date())){ offset = offset + z.getDSTSavings(); } int offsetHrs = offset / 1000 / 60 / 60; int offsetMins = offset / 1000 / 60 % 60; System.out.println("offset: " + offsetHrs); System.out.println("offset: " + offsetMins); c.add(Calendar.HOUR_OF_DAY, (-offsetHrs)); c.add(Calendar.MINUTE, (-offsetMins)); System.out.println("GMT Time: "+c.getTime());
Calendar subParseZoneString(String text, int j) { TimeZone tz = getTimeZone(); calendar.set(Calendar.DST_OFFSET, j >= 3 ? tz.getDSTSavings() : 0); return calendar; } }
@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; } }
rawOffset += tz.getDSTSavings();
/** * Get the DST offset (if any) for the default locale and the given date. * * @param self a Date * @return the DST offset as a Duration. */ public static Duration getDaylightSavingsOffset(Date self) { TimeZone timeZone = getTimeZone(self); int millis = (timeZone.useDaylightTime() && timeZone.inDaylightTime(self)) ? timeZone.getDSTSavings() : 0; return new TimeDuration(0, 0, 0, millis); }
int dstSavings = zone.getDSTSavings();
earlier.setTimeInMillis(calendar.getTimeInMillis() - timeZone.getDSTSavings()); check = LocalDateTime.fromCalendarFields(earlier); if (check.equals(this)) {
} else if (check.equals(this)) { Date earlier = new Date(date.getTime() - TimeZone.getDefault().getDSTSavings()); if (earlier.getDate() == dom) { date = earlier;
earlier.setTimeInMillis(calendar.getTimeInMillis() - timeZone.getDSTSavings()); check = LocalDateTime.fromCalendarFields(earlier); if (check.equals(this)) {
offset += getDSTSavings();
earlier.setTimeInMillis(calendar.getTimeInMillis() - timeZone.getDSTSavings()); check = LocalDateTime.fromCalendarFields(earlier); if (check.equals(this)) {
} else if (check.equals(this)) { Date earlier = new Date(date.getTime() - TimeZone.getDefault().getDSTSavings()); if (earlier.getDate() == dom) { date = earlier;
} else if (check.equals(this)) { Date earlier = new Date(date.getTime() - TimeZone.getDefault().getDSTSavings()); if (earlier.getDate() == dom) { date = earlier;
@Test public void testFormatLogEventStringBuilderIso8601TimezoneUTC() { final LogEvent event = new MyLogEvent(); final DatePatternConverter converter = DatePatternConverter.newInstance(new String[] {"ISO8601", "UTC"}); final StringBuilder sb = new StringBuilder(); converter.format(event, sb); final TimeZone tz = TimeZone.getTimeZone("UTC"); final SimpleDateFormat sdf = new SimpleDateFormat(converter.getPattern()); sdf.setTimeZone(tz); final long adjusted = event.getTimeMillis() + tz.getDSTSavings(); final String expected = sdf.format(new Date(adjusted)); // final String expected = "2011-12-30T09:56:35,987"; assertEquals(expected, sb.toString()); }
@Test public void testFormatLogEventStringBuilderIso8601TimezoneJST() { final LogEvent event = new MyLogEvent(); final String[] optionsWithTimezone = {ISO8601_FORMAT, "JST"}; final DatePatternConverter converter = DatePatternConverter.newInstance(optionsWithTimezone); final StringBuilder sb = new StringBuilder(); converter.format(event, sb); // JST=Japan Standard Time: UTC+9:00 final TimeZone tz = TimeZone.getTimeZone("JST"); final SimpleDateFormat sdf = new SimpleDateFormat(converter.getPattern()); sdf.setTimeZone(tz); final long adjusted = event.getTimeMillis() + tz.getDSTSavings(); final String expected = sdf.format(new Date(adjusted)); // final String expected = "2011-12-30T18:56:35,987"; // in CET (Central Eastern Time: Amsterdam) assertEquals(expected, sb.toString()); }
@Test public void testGetTimeZone() throws Exception { try (LocalTestServerContext sc = new LocalTestServerContext( "\n" + "{\n" + " \"dstOffset\" : 0,\n" + " \"rawOffset\" : 36000,\n" + " \"status\" : \"OK\",\n" + " \"timeZoneId\" : \"Australia/Sydney\",\n" + " \"timeZoneName\" : \"Australian Eastern Standard Time\"\n" + "}\n")) { LatLng sydney = new LatLng(-33.8688, 151.2093); TimeZone tz = TimeZoneApi.getTimeZone(sc.context, sydney).await(); assertNotNull(tz); assertEquals(TimeZone.getTimeZone("Australia/Sydney"), tz); // GMT+10 assertEquals(36000000, tz.getRawOffset()); // DST is +1h assertEquals(3600000, tz.getDSTSavings()); assertTrue(tz.inDaylightTime(new Date(1388494800000L))); sc.assertParamValue(sydney.toUrlValue(), "location"); } }