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 public int compare(TimeZone timeZone1, TimeZone timeZone2) {
031 Integer rawOffset1 = timeZone1.getRawOffset();
032 Integer rawOffset2 = timeZone2.getRawOffset();
033
034 int value = rawOffset1.compareTo(rawOffset2);
035
036 if (value == 0) {
037 String displayName1 = timeZone1.getDisplayName(_locale);
038 String displayName2 = timeZone2.getDisplayName(_locale);
039
040 value = displayName1.compareTo(displayName2);
041 }
042
043 return value;
044 }
045
046 private Locale _locale;
047
048 }