001
014
015 package com.liferay.portal.kernel.util;
016
017 import java.util.Comparator;
018 import java.util.TimeZone;
019
020
023 public class TimeZoneComparator implements Comparator<TimeZone> {
024
025 public TimeZoneComparator() {
026 }
027
028 @Override
029 public int compare(TimeZone timeZone1, TimeZone timeZone2) {
030 Integer totalOffset1 =
031 timeZone1.getRawOffset() + timeZone1.getDSTSavings();
032 Integer totalOffset2 =
033 timeZone2.getRawOffset() + timeZone2.getDSTSavings();
034
035 int value = totalOffset1.compareTo(totalOffset2);
036
037 if (value == 0) {
038 String timeZoneId1 = timeZone1.getID();
039 String timeZoneId2 = timeZone2.getID();
040
041 value = timeZoneId1.compareTo(timeZoneId2);
042 }
043
044 return value;
045 }
046
047 }