001
014
015 package com.liferay.portal.kernel.util;
016
017 import java.util.Comparator;
018 import java.util.Locale;
019 import java.util.TimeZone;
020
021
024 public class TimeZoneComparator implements Comparator<TimeZone> {
025
026 public TimeZoneComparator(Locale locale) {
027 _locale = locale;
028 }
029
030 @Override
031 public int compare(TimeZone timeZone1, TimeZone timeZone2) {
032 Integer rawOffset1 = timeZone1.getRawOffset();
033 Integer rawOffset2 = timeZone2.getRawOffset();
034
035 int value = rawOffset1.compareTo(rawOffset2);
036
037 if (value == 0) {
038 String displayName1 = timeZone1.getDisplayName(_locale);
039 String displayName2 = timeZone2.getDisplayName(_locale);
040
041 value = displayName1.compareTo(displayName2);
042 }
043
044 return value;
045 }
046
047 private Locale _locale;
048
049 }