/* package whatever; // don't place package name! */ import java.util.*; import java.lang.*; import java.io.*; import java.time.* ; import java.time.format.* ; import java.time.temporal.* ; import java.time.chrono.* ; import java.time.zone.* ; import java.util.concurrent.TimeUnit ; /* Name of the class has to be "Main" only if the class is public. */ class Ideone { { // Convert your milliseconds to an offset-from-UTC. int milliseconds = 21_600_000; ZoneOffset targetOffset = ZoneOffset.ofTotalSeconds( seconds ); // Capture the current moment as seen in UTC (an offset of zero hours-minutes-seconds). Instant now = Instant.now(); // Loop through all know time zones, comparing each one’s zone to the target zone. { ZoneId zoneId = ZoneId.of( zoneName ); ZoneRules rules = zoneId.getRules(); // ZoneRules rules = zoneId.getRules() ; ZoneOffset offset = rules.getOffset( now ); if ( offset.equals( targetOffset ) ) { hits.add( zoneId ); } } // Report results. } }
Standard input is empty
java.version 12.0.1 java.vendor Oracle Corporation targetOffset = +06:00 hits: [Asia/Kashgar, Etc/GMT-6, Asia/Almaty, Asia/Dacca, Asia/Omsk, Asia/Dhaka, Indian/Chagos, Asia/Qyzylorda, Asia/Bishkek, Antarctica/Vostok, Asia/Urumqi, Asia/Thimbu, Asia/Thimphu]