mirror of
https://github.com/NekoX-Dev/NekoX.git
synced 2024-12-13 01:49:41 +01:00
parent
3b39eed879
commit
53bc1b0bbe
@ -45,6 +45,7 @@ import java.util.TimeZone;
|
||||
|
||||
import tw.nekomimi.nekogram.NekoConfig;
|
||||
import tw.nekomimi.nekogram.parts.LocFiltersKt;
|
||||
import tw.nekomimi.nekogram.shamsicalendar.PersianCalendar;
|
||||
import tw.nekomimi.nekogram.utils.FileUtil;
|
||||
|
||||
public class LocaleController {
|
||||
@ -1420,10 +1421,23 @@ public class LocaleController {
|
||||
date *= 1000;
|
||||
|
||||
calendar.setTimeInMillis(date);
|
||||
if (checkYear && currentYear == calendar.get(Calendar.YEAR) || !checkYear && Math.abs(System.currentTimeMillis() - date) < 31536000000L) {
|
||||
return getInstance().chatDate.format(date);
|
||||
PersianCalendar persianCalendar = null;
|
||||
if (NekoConfig.usePersianCalender) {
|
||||
persianCalendar = new PersianCalendar(date);
|
||||
}
|
||||
if (checkYear && currentYear == calendar.get(Calendar.YEAR) || !checkYear && Math.abs(System.currentTimeMillis() - date) < 31536000000L) {
|
||||
if (NekoConfig.usePersianCalender) {
|
||||
return persianCalendar.getPersianMonthDay();
|
||||
} else {
|
||||
return getInstance().chatDate.format(date);
|
||||
}
|
||||
} else {
|
||||
if (NekoConfig.usePersianCalender) {
|
||||
return persianCalendar.getPersianYear() + "" + persianCalendar.getPersianMonthDay();
|
||||
} else {
|
||||
return getInstance().chatFullDate.format(date);
|
||||
}
|
||||
}
|
||||
return getInstance().chatFullDate.format(date);
|
||||
} catch (Exception e) {
|
||||
FileLog.e(e);
|
||||
}
|
||||
@ -1493,15 +1507,27 @@ public class LocaleController {
|
||||
rightNow.setTimeInMillis(date);
|
||||
int dateDay = rightNow.get(Calendar.DAY_OF_YEAR);
|
||||
int dateYear = rightNow.get(Calendar.YEAR);
|
||||
PersianCalendar persianCalendar = null;
|
||||
if (NekoConfig.usePersianCalender) {
|
||||
persianCalendar = new PersianCalendar(date);
|
||||
}
|
||||
|
||||
if (dateDay == day && year == dateYear) {
|
||||
return getInstance().formatterDay.format(new Date(date));
|
||||
} else if (dateDay + 1 == day && year == dateYear) {
|
||||
return LocaleController.formatString("YesterdayAtFormatted", R.string.YesterdayAtFormatted, getInstance().formatterDay.format(new Date(date)));
|
||||
} else if (Math.abs(System.currentTimeMillis() - date) < 31536000000L) {
|
||||
return LocaleController.formatString("formatDateAtTime", R.string.formatDateAtTime, getInstance().chatDate.format(new Date(date)), getInstance().formatterDay.format(new Date(date)));
|
||||
if (NekoConfig.usePersianCalender) {
|
||||
return LocaleController.formatString("formatDateAtTime", R.string.formatDateAtTime, persianCalendar.getPersianMonthDay(), getInstance().formatterDay.format(new Date(date)));
|
||||
} else {
|
||||
return LocaleController.formatString("formatDateAtTime", R.string.formatDateAtTime, getInstance().chatDate.format(new Date(date)), getInstance().formatterDay.format(new Date(date)));
|
||||
}
|
||||
} else {
|
||||
return LocaleController.formatString("formatDateAtTime", R.string.formatDateAtTime, getInstance().chatFullDate.format(new Date(date)), getInstance().formatterDay.format(new Date(date)));
|
||||
if (NekoConfig.usePersianCalender) {
|
||||
return LocaleController.formatString("formatDateAtTime", R.string.formatDateAtTime, persianCalendar.getPersianNormalDate(), getInstance().formatterDay.format(new Date(date)));
|
||||
} else {
|
||||
return LocaleController.formatString("formatDateAtTime", R.string.formatDateAtTime, getInstance().chatFullDate.format(new Date(date)), getInstance().formatterDay.format(new Date(date)));
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FileLog.e(e);
|
||||
@ -1567,6 +1593,10 @@ public class LocaleController {
|
||||
rightNow.setTimeInMillis(date);
|
||||
int dateDay = rightNow.get(Calendar.DAY_OF_YEAR);
|
||||
int dateYear = rightNow.get(Calendar.YEAR);
|
||||
PersianCalendar persianCalendar = null;
|
||||
if (NekoConfig.usePersianCalender) {
|
||||
persianCalendar = new PersianCalendar(date);
|
||||
}
|
||||
|
||||
if (dateDay == day && year == dateYear) {
|
||||
return LocaleController.formatString("LastSeenFormatted", R.string.LastSeenFormatted, LocaleController.formatString("TodayAtFormatted", R.string.TodayAtFormatted, getInstance().formatterDay.format(new Date(date))));
|
||||
@ -1581,11 +1611,21 @@ public class LocaleController {
|
||||
} else if (dateDay + 1 == day && year == dateYear) {
|
||||
return LocaleController.formatString("LastSeenFormatted", R.string.LastSeenFormatted, LocaleController.formatString("YesterdayAtFormatted", R.string.YesterdayAtFormatted, getInstance().formatterDay.format(new Date(date))));
|
||||
} else if (Math.abs(System.currentTimeMillis() - date) < 31536000000L) {
|
||||
String format = LocaleController.formatString("formatDateAtTime", R.string.formatDateAtTime, getInstance().formatterDayMonth.format(new Date(date)), getInstance().formatterDay.format(new Date(date)));
|
||||
return LocaleController.formatString("LastSeenDateFormatted", R.string.LastSeenDateFormatted, format);
|
||||
if (NekoConfig.usePersianCalender) {
|
||||
String format = LocaleController.formatString("formatDateAtTime", R.string.formatDateAtTime, persianCalendar.getPersianMonthDay(), getInstance().formatterDay.format(new Date(date)));
|
||||
return LocaleController.formatString("LastSeenDateFormatted", R.string.LastSeenDateFormatted, format);
|
||||
} else {
|
||||
String format = LocaleController.formatString("formatDateAtTime", R.string.formatDateAtTime, getInstance().formatterDayMonth.format(new Date(date)), getInstance().formatterDay.format(new Date(date)));
|
||||
return LocaleController.formatString("LastSeenDateFormatted", R.string.LastSeenDateFormatted, format);
|
||||
}
|
||||
} else {
|
||||
String format = LocaleController.formatString("formatDateAtTime", R.string.formatDateAtTime, getInstance().formatterYear.format(new Date(date)), getInstance().formatterDay.format(new Date(date)));
|
||||
return LocaleController.formatString("LastSeenDateFormatted", R.string.LastSeenDateFormatted, format);
|
||||
if (NekoConfig.usePersianCalender) {
|
||||
String format = LocaleController.formatString("formatDateAtTime", R.string.formatDateAtTime, persianCalendar.getPersianNormalDate(), getInstance().formatterDay.format(new Date(date)));
|
||||
return LocaleController.formatString("LastSeenDateFormatted", R.string.LastSeenDateFormatted, format);
|
||||
} else {
|
||||
String format = LocaleController.formatString("formatDateAtTime", R.string.formatDateAtTime, getInstance().formatterYear.format(new Date(date)), getInstance().formatterDay.format(new Date(date)));
|
||||
return LocaleController.formatString("LastSeenDateFormatted", R.string.LastSeenDateFormatted, format);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FileLog.e(e);
|
||||
@ -1716,6 +1756,8 @@ public class LocaleController {
|
||||
return getInstance().formatterDay.format(new Date(date));
|
||||
} else if (dayDiff > -7 && dayDiff <= -1) {
|
||||
return getInstance().formatterWeek.format(new Date(date));
|
||||
} else if (NekoConfig.usePersianCalender) {
|
||||
return new PersianCalendar(date).getPersianMonthDay();
|
||||
} else {
|
||||
return getInstance().formatterDayMonth.format(new Date(date));
|
||||
}
|
||||
|
@ -119,6 +119,7 @@ public class NekoConfig {
|
||||
public static boolean mediaPreview;
|
||||
|
||||
public static boolean proxyAutoSwitch;
|
||||
public static boolean usePersianCalender;
|
||||
|
||||
public static String openPGPApp;
|
||||
public static long openPGPKeyId;
|
||||
@ -278,7 +279,7 @@ public class NekoConfig {
|
||||
mediaPreview = preferences.getBoolean("mediaPreview", true);
|
||||
|
||||
proxyAutoSwitch = preferences.getBoolean("proxy_auto_switch", false);
|
||||
//preferences.getBoolean("usePersianCalender", false);
|
||||
usePersianCalender = preferences.getBoolean("usePersianCalender", false);
|
||||
openPGPApp = preferences.getString("openPGPApp", "");
|
||||
openPGPKeyId = preferences.getLong("openPGPKeyId", 0L);
|
||||
|
||||
@ -689,6 +690,10 @@ public class NekoConfig {
|
||||
preferences.edit().putBoolean("proxy_auto_switch", proxyAutoSwitch = !proxyAutoSwitch).apply();
|
||||
}
|
||||
|
||||
public static void toggleUsePersianCalender() {
|
||||
preferences.edit().putBoolean("usePersianCalender", usePersianCalender = !usePersianCalender).apply();
|
||||
}
|
||||
|
||||
public static void setOpenPGPApp(String packageName) {
|
||||
preferences.edit().putString("openPGPApp", openPGPApp = packageName).apply();
|
||||
}
|
||||
|
@ -481,10 +481,10 @@ public class NekoGeneralSettingsActivity extends BaseFragment {
|
||||
ActionBarLayout.headerShadowDrawable = NekoConfig.disableAppBarShadow ? null : parentLayout.getResources().getDrawable(R.drawable.header_shadow).mutate();
|
||||
parentLayout.rebuildAllFragmentViews(true, true);
|
||||
} else if (position == usePersianCalenderRow) {
|
||||
/* NekoConfig.toggleUsePersianCalender();
|
||||
NekoConfig.toggleUsePersianCalender();
|
||||
if (view instanceof TextCheckCell) {
|
||||
((TextCheckCell) view).setChecked(NekoConfig.usePersianCalender);
|
||||
}*/
|
||||
}
|
||||
} else if (position == pgpAppRow) {
|
||||
|
||||
PopupBuilder builder = new PopupBuilder(view);
|
||||
@ -774,7 +774,7 @@ public class NekoGeneralSettingsActivity extends BaseFragment {
|
||||
disableNumberRoundingRow = rowCount++;
|
||||
openArchiveOnPullRow = rowCount++;
|
||||
nameOrderRow = rowCount++;
|
||||
usePersianCalenderRow = -1;
|
||||
usePersianCalenderRow = rowCount ++;
|
||||
general2Row = rowCount++;
|
||||
|
||||
if (notify && listAdapter != null) {
|
||||
@ -978,6 +978,7 @@ public class NekoGeneralSettingsActivity extends BaseFragment {
|
||||
} else if (position == appBarShadowRow) {
|
||||
textCell.setTextAndCheck(LocaleController.getString("DisableAppBarShadow", R.string.DisableAppBarShadow), NekoConfig.disableAppBarShadow, true);
|
||||
} else if (position == usePersianCalenderRow) {
|
||||
textCell.setTextAndValueAndCheck(LocaleController.getString("UsePersianCalender", R.string.UsePersianCalender), LocaleController.getString("UsePersianCalenderInfo", R.string.UsePersianCalenderInfo), NekoConfig.usePersianCalender, true, true);
|
||||
} else if (position == autoPauseVideoRow) {
|
||||
textCell.setTextAndValueAndCheck(LocaleController.getString("AutoPauseVideo", R.string.AutoPauseVideo), LocaleController.getString("AutoPauseVideoAbout", R.string.AutoPauseVideoAbout), NekoConfig.autoPauseVideo, true, true);
|
||||
} else if (position == acceptSecretChatRow) {
|
||||
|
@ -0,0 +1,27 @@
|
||||
package tw.nekomimi.nekogram.shamsicalendar;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class LanguageUtils {
|
||||
public static String getPersianNumbers(String string) {
|
||||
return string.replace("0", "۰").replace("1", "١").replace("2", "۲").replace("3", "۳").replace("4", "۴").replace("5", "۵").replace("6", "۶").replace("7", "۷").replace("8", "۸").replace("9", "۹");
|
||||
}
|
||||
|
||||
public static String[] getPersianNumbers(String[] strings) {
|
||||
for (int i = 0; i < strings.length; i++) {
|
||||
strings[i] = getPersianNumbers(strings[i]);
|
||||
}
|
||||
return strings;
|
||||
}
|
||||
|
||||
public static ArrayList<String> getPersianNumbers(ArrayList<String> strings) {
|
||||
for (int i = 0; i < strings.size(); i++) {
|
||||
strings.set(i, getPersianNumbers((String) strings.get(i)));
|
||||
}
|
||||
return strings;
|
||||
}
|
||||
|
||||
public static String getLatinNumbers(String string) {
|
||||
return string.replace("۰", "0").replace("١", "1").replace("۲", "2").replace("۳", "3").replace("۴", "4").replace("۵", "5").replace("۶", "6").replace("۷", "7").replace("۸", "8").replace("۹", "9");
|
||||
}
|
||||
}
|
@ -0,0 +1,174 @@
|
||||
package tw.nekomimi.nekogram.shamsicalendar;
|
||||
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.TimeZone;
|
||||
|
||||
public class PersianCalendar extends GregorianCalendar {
|
||||
private static final long serialVersionUID = 5541422440580682494L;
|
||||
private String delimiter = "/";
|
||||
private int persianDay;
|
||||
private int persianMonth;
|
||||
private int persianYear;
|
||||
|
||||
private long convertToMilis(long julianDate) {
|
||||
return ((86400000 * julianDate) - 210866803200000L) + PersianCalendarUtils.ceil((double) (getTimeInMillis() - -210866803200000L), 8.64E7d);
|
||||
}
|
||||
|
||||
public PersianCalendar(long millis) {
|
||||
setTimeInMillis(millis);
|
||||
}
|
||||
|
||||
public PersianCalendar() {
|
||||
setTimeZone(TimeZone.getTimeZone("GMT"));
|
||||
}
|
||||
|
||||
protected void calculatePersianDate() {
|
||||
long PersianRowDate = PersianCalendarUtils.julianToPersian(((long) Math.floor((double) (getTimeInMillis() - -210866803200000L))) / 86400000);
|
||||
long year = PersianRowDate >> 16;
|
||||
int month = ((int) (65280 & PersianRowDate)) >> 8;
|
||||
int day = (int) (255 & PersianRowDate);
|
||||
if (year <= 0) {
|
||||
year--;
|
||||
}
|
||||
this.persianYear = (int) year;
|
||||
this.persianMonth = month;
|
||||
this.persianDay = day;
|
||||
}
|
||||
|
||||
public boolean isPersianLeapYear() {
|
||||
return PersianCalendarUtils.isPersianLeapYear(this.persianYear);
|
||||
}
|
||||
|
||||
public void setPersianDate(int persianYear, int persianMonth, int persianDay) {
|
||||
persianMonth++;
|
||||
this.persianYear = persianYear;
|
||||
this.persianMonth = persianMonth;
|
||||
this.persianDay = persianDay;
|
||||
setTimeInMillis(convertToMilis(PersianCalendarUtils.persianToJulian(this.persianYear > 0 ? (long) this.persianYear : (long) (this.persianYear + 1), this.persianMonth - 1, this.persianDay)));
|
||||
}
|
||||
|
||||
public int getPersianYear() {
|
||||
return this.persianYear;
|
||||
}
|
||||
|
||||
public int getPersianMonth() {
|
||||
return this.persianMonth;
|
||||
}
|
||||
|
||||
public String getPersianMonthName() {
|
||||
return PersianCalendarConstants.persianMonthNames[this.persianMonth];
|
||||
}
|
||||
|
||||
public int getPersianDay() {
|
||||
return this.persianDay;
|
||||
}
|
||||
|
||||
public String getPersianDayfanum() {
|
||||
return LanguageUtils.getPersianNumbers(String.valueOf(this.persianDay));
|
||||
}
|
||||
|
||||
public String getPersianWeekDayName() {
|
||||
switch (get(7)) {
|
||||
case 1:
|
||||
return PersianCalendarConstants.persianWeekDays[1];
|
||||
case 2:
|
||||
return PersianCalendarConstants.persianWeekDays[2];
|
||||
case 3:
|
||||
return PersianCalendarConstants.persianWeekDays[3];
|
||||
case 4:
|
||||
return PersianCalendarConstants.persianWeekDays[4];
|
||||
case 5:
|
||||
return PersianCalendarConstants.persianWeekDays[5];
|
||||
case 7:
|
||||
return PersianCalendarConstants.persianWeekDays[0];
|
||||
default:
|
||||
return PersianCalendarConstants.persianWeekDays[6];
|
||||
}
|
||||
}
|
||||
|
||||
public String getPersianLongDate() {
|
||||
return getPersianWeekDayName() + " " + getPersianDayfanum() + " " + getPersianMonthName() + " " + this.persianYear;
|
||||
}
|
||||
|
||||
|
||||
public String getPersianNormalDate() {
|
||||
return getPersianDayfanum() + " " + getPersianMonthName() + " " + getPersianDayfanum();
|
||||
}
|
||||
|
||||
//like 9 شهریور
|
||||
public String getPersianMonthDay() {
|
||||
return getPersianDayfanum() + " " + getPersianMonthName();
|
||||
}
|
||||
|
||||
public String getPersianLongDateAndTime() {
|
||||
return getPersianLongDate() + " ساعت " + get(11) + ":" + get(12) + ":" + get(13);
|
||||
}
|
||||
|
||||
public String getPersianShortDate() {
|
||||
return "" + formatToMilitary(this.persianYear) + this.delimiter + formatToMilitary(getPersianMonth() + 1) + this.delimiter + formatToMilitary(this.persianDay);
|
||||
}
|
||||
|
||||
public String getPersianShortDateTime() {
|
||||
return "" + formatToMilitary(this.persianYear) + this.delimiter + formatToMilitary(getPersianMonth() + 1) + this.delimiter + formatToMilitary(this.persianDay) + " " + formatToMilitary(get(11)) + ":" + formatToMilitary(get(12)) + ":" + formatToMilitary(get(13));
|
||||
}
|
||||
|
||||
private String formatToMilitary(int i) {
|
||||
return i < 9 ? "0" + i : String.valueOf(i);
|
||||
}
|
||||
|
||||
public void addPersianDate(int field, int amount) {
|
||||
if (amount != 0) {
|
||||
if (field < 0 || field >= 15) {
|
||||
throw new IllegalArgumentException();
|
||||
} else if (field == 1) {
|
||||
setPersianDate(this.persianYear + amount, getPersianMonth() + 1, this.persianDay);
|
||||
} else if (field == 2) {
|
||||
setPersianDate(this.persianYear + (((getPersianMonth() + 1) + amount) / 12), ((getPersianMonth() + 1) + amount) % 12, this.persianDay);
|
||||
} else {
|
||||
add(field, amount);
|
||||
calculatePersianDate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void parse(String dateString) {
|
||||
PersianCalendar p = new PersianDateParser(dateString, this.delimiter).getPersianDate();
|
||||
setPersianDate(p.getPersianYear(), p.getPersianMonth(), p.getPersianDay());
|
||||
}
|
||||
|
||||
public String getDelimiter() {
|
||||
return this.delimiter;
|
||||
}
|
||||
|
||||
public void setDelimiter(String delimiter) {
|
||||
this.delimiter = delimiter;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
String str = super.toString();
|
||||
return str.substring(0, str.length() - 1) + ",PersianDate=" + getPersianShortDate() + "]";
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
return super.equals(obj);
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return super.hashCode();
|
||||
}
|
||||
|
||||
public void set(int field, int value) {
|
||||
super.set(field, value);
|
||||
calculatePersianDate();
|
||||
}
|
||||
|
||||
public void setTimeInMillis(long millis) {
|
||||
super.setTimeInMillis(millis);
|
||||
calculatePersianDate();
|
||||
}
|
||||
|
||||
public void setTimeZone(TimeZone zone) {
|
||||
super.setTimeZone(zone);
|
||||
calculatePersianDate();
|
||||
}
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package tw.nekomimi.nekogram.shamsicalendar;
|
||||
|
||||
public class PersianCalendarConstants {
|
||||
public static final long MILLIS_JULIAN_EPOCH = -210866803200000L;
|
||||
public static final long MILLIS_OF_A_DAY = 86400000;
|
||||
public static final long PERSIAN_EPOCH = 1948321;
|
||||
public static final String[] persianMonthNames = new String[]{"فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند"};
|
||||
public static final String[] persianWeekDays = new String[]{"شنبه", "یکشنبه", "دوشنبه", "سهشنبه", "چهارشنبه", "پنجشنبه", "جمعه"};
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package tw.nekomimi.nekogram.shamsicalendar;
|
||||
|
||||
public class PersianCalendarUtils {
|
||||
public static long persianToJulian(long year, int month, int day) {
|
||||
return (((long) (month < 7 ? month * 31 : (month * 30) + 6)) + ((1029983 * ((long) Math.floor(((double) (year - 474)) / 2820.0d))) + (((365 * ((ceil((double) (year - 474), 2820.0d) + 474) - 1)) + ((long) Math.floor(((double) ((682 * (ceil((double) (year - 474), 2820.0d) + 474)) - 110)) / 2816.0d))) + 1948320))) + ((long) day);
|
||||
}
|
||||
|
||||
public static boolean isPersianLeapYear(int persianYear) {
|
||||
return ceil((38.0d + ((double) (ceil((double) (((long) persianYear) - 474), 2820.0d) + 474))) * 682.0d, 2816.0d) < 682;
|
||||
}
|
||||
|
||||
public static long julianToPersian(long julianDate) {
|
||||
long persianEpochInJulian = julianDate - persianToJulian(475, 0, 1);
|
||||
long cyear = ceil((double) persianEpochInJulian, 1029983.0d);
|
||||
long year = (474 + (2820 * ((long) Math.floor(((double) persianEpochInJulian) / 1029983.0d)))) + (cyear != 1029982 ? (long) Math.floor(((2816.0d * ((double) cyear)) + 1031337.0d) / 1028522.0d) : 2820);
|
||||
long aux = (1 + julianDate) - persianToJulian(year, 0, 1);
|
||||
int month = (int) (aux > 186 ? Math.ceil(((double) (aux - 6)) / 30.0d) - 1.0d : Math.ceil(((double) aux) / 31.0d) - 1.0d);
|
||||
return ((year << 16) | ((long) (month << 8))) | ((long) ((int) (julianDate - (persianToJulian(year, month, 1) - 1))));
|
||||
}
|
||||
|
||||
public static long ceil(double double1, double double2) {
|
||||
return (long) (double1 - (Math.floor(double1 / double2) * double2));
|
||||
}
|
||||
}
|
@ -0,0 +1,76 @@
|
||||
package tw.nekomimi.nekogram.shamsicalendar;
|
||||
|
||||
public class PersianDateParser {
|
||||
private String dateString;
|
||||
private String delimiter;
|
||||
|
||||
public PersianDateParser(String dateString) {
|
||||
this.delimiter = "/";
|
||||
this.dateString = dateString;
|
||||
}
|
||||
|
||||
public PersianDateParser(String dateString, String delimiter) {
|
||||
this(dateString);
|
||||
this.delimiter = delimiter;
|
||||
}
|
||||
|
||||
public PersianCalendar getPersianDate() {
|
||||
checkDateStringInitialValidation();
|
||||
String[] tokens = splitDateString(normalizeDateString(this.dateString));
|
||||
int year = Integer.parseInt(tokens[0]);
|
||||
int month = Integer.parseInt(tokens[1]);
|
||||
int day = Integer.parseInt(tokens[2]);
|
||||
checkPersianDateValidation(year, month, day);
|
||||
PersianCalendar pCal = new PersianCalendar();
|
||||
pCal.setPersianDate(year, month, day);
|
||||
return pCal;
|
||||
}
|
||||
|
||||
private void checkPersianDateValidation(int year, int month, int day) {
|
||||
if (year < 1) {
|
||||
throw new RuntimeException("year is not valid");
|
||||
} else if (month < 1 || month > 12) {
|
||||
throw new RuntimeException("month is not valid");
|
||||
} else if (day < 1 || day > 31) {
|
||||
throw new RuntimeException("day is not valid");
|
||||
} else if (month > 6 && day == 31) {
|
||||
throw new RuntimeException("day is not valid");
|
||||
} else if (month == 12 && day == 30 && !PersianCalendarUtils.isPersianLeapYear(year)) {
|
||||
throw new RuntimeException("day is not valid " + year + " is not a leap year");
|
||||
}
|
||||
}
|
||||
|
||||
private String normalizeDateString(String dateString) {
|
||||
return dateString;
|
||||
}
|
||||
|
||||
private String[] splitDateString(String dateString) {
|
||||
String[] tokens = dateString.split(this.delimiter);
|
||||
if (tokens.length == 3) {
|
||||
return tokens;
|
||||
}
|
||||
throw new RuntimeException("wrong date:" + dateString + " is not a Persian Date or can not be parsed");
|
||||
}
|
||||
|
||||
private void checkDateStringInitialValidation() {
|
||||
if (this.dateString == null) {
|
||||
throw new RuntimeException("input didn't assing please use setDateString()");
|
||||
}
|
||||
}
|
||||
|
||||
public String getDateString() {
|
||||
return this.dateString;
|
||||
}
|
||||
|
||||
public void setDateString(String dateString) {
|
||||
this.dateString = dateString;
|
||||
}
|
||||
|
||||
public String getDelimiter() {
|
||||
return this.delimiter;
|
||||
}
|
||||
|
||||
public void setDelimiter(String delimiter) {
|
||||
this.delimiter = delimiter;
|
||||
}
|
||||
}
|
@ -0,0 +1,575 @@
|
||||
package tw.nekomimi.nekogram.shamsicalendar;
|
||||
|
||||
import java.util.TimeZone;
|
||||
|
||||
public enum TimeZones {
|
||||
DEFAULT(TimeZone.getDefault()),
|
||||
ACT(TimeZone.getTimeZone("ACT")),
|
||||
AET(TimeZone.getTimeZone("AET")),
|
||||
AFRICA_ABIDJAN(TimeZone.getTimeZone("Africa/Abidjan")),
|
||||
AFRICA_ACCRA(TimeZone.getTimeZone("Africa/Accra")),
|
||||
AFRICA_ADDIS_ABABA(TimeZone.getTimeZone("Africa/Addis_Ababa")),
|
||||
AFRICA_ALGIERS(TimeZone.getTimeZone("Africa/Algiers")),
|
||||
AFRICA_ASMERA(TimeZone.getTimeZone("Africa/Asmera")),
|
||||
AFRICA_BAMAKO(TimeZone.getTimeZone("Africa/Bamako")),
|
||||
AFRICA_BANGUI(TimeZone.getTimeZone("Africa/Bangui")),
|
||||
AFRICA_BANJUL(TimeZone.getTimeZone("Africa/Banjul")),
|
||||
AFRICA_BISSAU(TimeZone.getTimeZone("Africa/Bissau")),
|
||||
AFRICA_BLANTYRE(TimeZone.getTimeZone("Africa/Blantyre")),
|
||||
AFRICA_BRAZZAVILLE(TimeZone.getTimeZone("Africa/Brazzaville")),
|
||||
AFRICA_BUJUMBURA(TimeZone.getTimeZone("Africa/Bujumbura")),
|
||||
AFRICA_CAIRO(TimeZone.getTimeZone("Africa/Cairo")),
|
||||
AFRICA_CASABLANCA(TimeZone.getTimeZone("Africa/Casablanca")),
|
||||
AFRICA_CEUTA(TimeZone.getTimeZone("Africa/Ceuta")),
|
||||
AFRICA_CONAKRY(TimeZone.getTimeZone("Africa/Conakry")),
|
||||
AFRICA_DAKAR(TimeZone.getTimeZone("Africa/Dakar")),
|
||||
AFRICA_DAR_ES_SALAAM(TimeZone.getTimeZone("Africa/Dar_es_Salaam")),
|
||||
AFRICA_DJIBOUTI(TimeZone.getTimeZone("Africa/Djibouti")),
|
||||
AFRICA_DOUALA(TimeZone.getTimeZone("Africa/Douala")),
|
||||
AFRICA_EL_AAIUN(TimeZone.getTimeZone("Africa/El_Aaiun")),
|
||||
AFRICA_FREETOWN(TimeZone.getTimeZone("Africa/Freetown")),
|
||||
AFRICA_GABORONE(TimeZone.getTimeZone("Africa/Gaborone")),
|
||||
AFRICA_HARARE(TimeZone.getTimeZone("Africa/Harare")),
|
||||
AFRICA_JOHANNESBURG(TimeZone.getTimeZone("Africa/Johannesburg")),
|
||||
AFRICA_KAMPALA(TimeZone.getTimeZone("Africa/Kampala")),
|
||||
AFRICA_KHARTOUM(TimeZone.getTimeZone("Africa/Khartoum")),
|
||||
AFRICA_KIGALI(TimeZone.getTimeZone("Africa/Kigali")),
|
||||
AFRICA_KINSHASA(TimeZone.getTimeZone("Africa/Kinshasa")),
|
||||
AFRICA_LAGOS(TimeZone.getTimeZone("Africa/Lagos")),
|
||||
AFRICA_LIBREVILLE(TimeZone.getTimeZone("Africa/Libreville")),
|
||||
AFRICA_LOME(TimeZone.getTimeZone("Africa/Lome")),
|
||||
AFRICA_LUANDA(TimeZone.getTimeZone("Africa/Luanda")),
|
||||
AFRICA_LUBUMBASHI(TimeZone.getTimeZone("Africa/Lubumbashi")),
|
||||
AFRICA_LUSAKA(TimeZone.getTimeZone("Africa/Lusaka")),
|
||||
AFRICA_MALABO(TimeZone.getTimeZone("Africa/Malabo")),
|
||||
AFRICA_MAPUTO(TimeZone.getTimeZone("Africa/Maputo")),
|
||||
AFRICA_MASERU(TimeZone.getTimeZone("Africa/Maseru")),
|
||||
AFRICA_MBABANE(TimeZone.getTimeZone("Africa/Mbabane")),
|
||||
AFRICA_MOGADISHU(TimeZone.getTimeZone("Africa/Mogadishu")),
|
||||
AFRICA_MONROVIA(TimeZone.getTimeZone("Africa/Monrovia")),
|
||||
AFRICA_NAIROBI(TimeZone.getTimeZone("Africa/Nairobi")),
|
||||
AFRICA_NDJAMENA(TimeZone.getTimeZone("Africa/Ndjamena")),
|
||||
AFRICA_NIAMEY(TimeZone.getTimeZone("Africa/Niamey")),
|
||||
AFRICA_NOUAKCHOTT(TimeZone.getTimeZone("Africa/Nouakchott")),
|
||||
AFRICA_OUAGADOUGOU(TimeZone.getTimeZone("Africa/Ouagadougou")),
|
||||
AFRICA_PORTO_NOVO(TimeZone.getTimeZone("Africa/Porto-Novo")),
|
||||
AFRICA_SAO_TOME(TimeZone.getTimeZone("Africa/Sao_Tome")),
|
||||
AFRICA_TIMBUKTU(TimeZone.getTimeZone("Africa/Timbuktu")),
|
||||
AFRICA_TRIPOLI(TimeZone.getTimeZone("Africa/Tripoli")),
|
||||
AFRICA_TUNIS(TimeZone.getTimeZone("Africa/Tunis")),
|
||||
AFRICA_WINDHOEK(TimeZone.getTimeZone("Africa/Windhoek")),
|
||||
AGT(TimeZone.getTimeZone("AGT")),
|
||||
AMERICA_ADAK(TimeZone.getTimeZone("America/Adak")),
|
||||
AMERICA_ANCHORAGE(TimeZone.getTimeZone("America/Anchorage")),
|
||||
AMERICA_ANGUILLA(TimeZone.getTimeZone("America/Anguilla")),
|
||||
AMERICA_ANTIGUA(TimeZone.getTimeZone("America/Antigua")),
|
||||
AMERICA_ARAGUAINA(TimeZone.getTimeZone("America/Araguaina")),
|
||||
AMERICA_ARUBA(TimeZone.getTimeZone("America/Aruba")),
|
||||
AMERICA_ASUNCION(TimeZone.getTimeZone("America/Asuncion")),
|
||||
AMERICA_ATKA(TimeZone.getTimeZone("America/Atka")),
|
||||
AMERICA_BARBADOS(TimeZone.getTimeZone("America/Barbados")),
|
||||
AMERICA_BELEM(TimeZone.getTimeZone("America/Belem")),
|
||||
AMERICA_BELIZE(TimeZone.getTimeZone("America/Belize")),
|
||||
AMERICA_BOA_VISTA(TimeZone.getTimeZone("America/Boa_Vista")),
|
||||
AMERICA_BOGOTA(TimeZone.getTimeZone("America/Bogota")),
|
||||
AMERICA_BOISE(TimeZone.getTimeZone("America/Boise")),
|
||||
AMERICA_BUENOS_AIRES(TimeZone.getTimeZone("America/Buenos_Aires")),
|
||||
AMERICA_CAMBRIDGE_BAY(TimeZone.getTimeZone("America/Cambridge_Bay")),
|
||||
AMERICA_CANCUN(TimeZone.getTimeZone("America/Cancun")),
|
||||
AMERICA_CARACAS(TimeZone.getTimeZone("America/Caracas")),
|
||||
AMERICA_CATAMARCA(TimeZone.getTimeZone("America/Catamarca")),
|
||||
AMERICA_CAYENNE(TimeZone.getTimeZone("America/Cayenne")),
|
||||
AMERICA_CAYMAN(TimeZone.getTimeZone("America/Cayman")),
|
||||
AMERICA_CHICAGO(TimeZone.getTimeZone("America/Chicago")),
|
||||
AMERICA_CHIHUAHUA(TimeZone.getTimeZone("America/Chihuahua")),
|
||||
AMERICA_CORDOBA(TimeZone.getTimeZone("America/Cordoba")),
|
||||
AMERICA_COSTA_RICA(TimeZone.getTimeZone("America/Costa_Rica")),
|
||||
AMERICA_CUIABA(TimeZone.getTimeZone("America/Cuiaba")),
|
||||
AMERICA_CURACAO(TimeZone.getTimeZone("America/Curacao")),
|
||||
AMERICA_DANMARKSHAVN(TimeZone.getTimeZone("America/Danmarkshavn")),
|
||||
AMERICA_DAWSON(TimeZone.getTimeZone("America/Dawson")),
|
||||
AMERICA_DAWSON_CREEK(TimeZone.getTimeZone("America/Dawson_Creek")),
|
||||
AMERICA_DENVER(TimeZone.getTimeZone("America/Denver")),
|
||||
AMERICA_DETROIT(TimeZone.getTimeZone("America/Detroit")),
|
||||
AMERICA_DOMINICA(TimeZone.getTimeZone("America/Dominica")),
|
||||
AMERICA_EDMONTON(TimeZone.getTimeZone("America/Edmonton")),
|
||||
AMERICA_EIRUNEPE(TimeZone.getTimeZone("America/Eirunepe")),
|
||||
AMERICA_EL_SALVADOR(TimeZone.getTimeZone("America/El_Salvador")),
|
||||
AMERICA_ENSENADA(TimeZone.getTimeZone("America/Ensenada")),
|
||||
AMERICA_FORT_WAYNE(TimeZone.getTimeZone("America/Fort_Wayne")),
|
||||
AMERICA_FORTALEZA(TimeZone.getTimeZone("America/Fortaleza")),
|
||||
AMERICA_GLACE_BAY(TimeZone.getTimeZone("America/Glace_Bay")),
|
||||
AMERICA_GODTHAB(TimeZone.getTimeZone("America/Godthab")),
|
||||
AMERICA_GOOSE_BAY(TimeZone.getTimeZone("America/Goose_Bay")),
|
||||
AMERICA_GRAND_TURK(TimeZone.getTimeZone("America/Grand_Turk")),
|
||||
AMERICA_GRENADA(TimeZone.getTimeZone("America/Grenada")),
|
||||
AMERICA_GUADELOUPE(TimeZone.getTimeZone("America/Guadeloupe")),
|
||||
AMERICA_GUATEMALA(TimeZone.getTimeZone("America/Guatemala")),
|
||||
AMERICA_GUAYAQUIL(TimeZone.getTimeZone("America/Guayaquil")),
|
||||
AMERICA_GUYANA(TimeZone.getTimeZone("America/Guyana")),
|
||||
AMERICA_HALIFAX(TimeZone.getTimeZone("America/Halifax")),
|
||||
AMERICA_HAVANA(TimeZone.getTimeZone("America/Havana")),
|
||||
AMERICA_HERMOSILLO(TimeZone.getTimeZone("America/Hermosillo")),
|
||||
AMERICA_INDIANA_INDIANAPOLIS(TimeZone.getTimeZone("America/Indiana/Indianapolis")),
|
||||
AMERICA_INDIANA_KNOX(TimeZone.getTimeZone("America/Indiana/Knox")),
|
||||
AMERICA_INDIANA_MARENGO(TimeZone.getTimeZone("America/Indiana/Marengo")),
|
||||
AMERICA_INDIANA_VEVAY(TimeZone.getTimeZone("America/Indiana/Vevay")),
|
||||
AMERICA_INDIANAPOLIS(TimeZone.getTimeZone("America/Indianapolis")),
|
||||
AMERICA_INUVIK(TimeZone.getTimeZone("America/Inuvik")),
|
||||
AMERICA_IQALUIT(TimeZone.getTimeZone("America/Iqaluit")),
|
||||
AMERICA_JAMAICA(TimeZone.getTimeZone("America/Jamaica")),
|
||||
AMERICA_JUJUY(TimeZone.getTimeZone("America/Jujuy")),
|
||||
AMERICA_JUNEAU(TimeZone.getTimeZone("America/Juneau")),
|
||||
AMERICA_KENTUCKY_LOUISVILLE(TimeZone.getTimeZone("America/Kentucky/Louisville")),
|
||||
AMERICA_KENTUCKY_MONTICELLO(TimeZone.getTimeZone("America/Kentucky/Monticello")),
|
||||
AMERICA_KNOX_IN(TimeZone.getTimeZone("America/Knox_IN")),
|
||||
AMERICA_LA_PAZ(TimeZone.getTimeZone("America/La_Paz")),
|
||||
AMERICA_LIMA(TimeZone.getTimeZone("America/Lima")),
|
||||
AMERICA_LOS_ANGELES(TimeZone.getTimeZone("America/Los_Angeles")),
|
||||
AMERICA_LOUISVILLE(TimeZone.getTimeZone("America/Louisville")),
|
||||
AMERICA_MACEIO(TimeZone.getTimeZone("America/Maceio")),
|
||||
AMERICA_MANAGUA(TimeZone.getTimeZone("America/Managua")),
|
||||
AMERICA_MANAUS(TimeZone.getTimeZone("America/Manaus")),
|
||||
AMERICA_MARTINIQUE(TimeZone.getTimeZone("America/Martinique")),
|
||||
AMERICA_MAZATLAN(TimeZone.getTimeZone("America/Mazatlan")),
|
||||
AMERICA_MENDOZA(TimeZone.getTimeZone("America/Mendoza")),
|
||||
AMERICA_MENOMINEE(TimeZone.getTimeZone("America/Menominee")),
|
||||
AMERICA_MERIDA(TimeZone.getTimeZone("America/Merida")),
|
||||
AMERICA_MEXICO_CITY(TimeZone.getTimeZone("America/Mexico_City")),
|
||||
AMERICA_MIQUELON(TimeZone.getTimeZone("America/Miquelon")),
|
||||
AMERICA_MONTERREY(TimeZone.getTimeZone("America/Monterrey")),
|
||||
AMERICA_MONTEVIDEO(TimeZone.getTimeZone("America/Montevideo")),
|
||||
AMERICA_MONTREAL(TimeZone.getTimeZone("America/Montreal")),
|
||||
AMERICA_MONTSERRAT(TimeZone.getTimeZone("America/Montserrat")),
|
||||
AMERICA_NASSAU(TimeZone.getTimeZone("America/Nassau")),
|
||||
AMERICA_NEW_YORK(TimeZone.getTimeZone("America/New_York")),
|
||||
AMERICA_NIPIGON(TimeZone.getTimeZone("America/Nipigon")),
|
||||
AMERICA_NOME(TimeZone.getTimeZone("America/Nome")),
|
||||
AMERICA_NORONHA(TimeZone.getTimeZone("America/Noronha")),
|
||||
AMERICA_NORTH_DAKOTA_CENTER(TimeZone.getTimeZone("America/North_Dakota/Center")),
|
||||
AMERICA_PANAMA(TimeZone.getTimeZone("America/Panama")),
|
||||
AMERICA_PANGNIRTUNG(TimeZone.getTimeZone("America/Pangnirtung")),
|
||||
AMERICA_PARAMARIBO(TimeZone.getTimeZone("America/Paramaribo")),
|
||||
AMERICA_PHOENIX(TimeZone.getTimeZone("America/Phoenix")),
|
||||
AMERICA_PORT_AU_PRINCE(TimeZone.getTimeZone("America/Port-au-Prince")),
|
||||
AMERICA_PORT_OF_SPAIN(TimeZone.getTimeZone("America/Port_of_Spain")),
|
||||
AMERICA_PORTO_ACRE(TimeZone.getTimeZone("America/Porto_Acre")),
|
||||
AMERICA_PORTO_VELHO(TimeZone.getTimeZone("America/Porto_Velho")),
|
||||
AMERICA_PUERTO_RICO(TimeZone.getTimeZone("America/Puerto_Rico")),
|
||||
AMERICA_RAINY_RIVER(TimeZone.getTimeZone("America/Rainy_River")),
|
||||
AMERICA_RANKIN_INLET(TimeZone.getTimeZone("America/Rankin_Inlet")),
|
||||
AMERICA_RECIFE(TimeZone.getTimeZone("America/Recife")),
|
||||
AMERICA_REGINA(TimeZone.getTimeZone("America/Regina")),
|
||||
AMERICA_RIO_BRANCO(TimeZone.getTimeZone("America/Rio_Branco")),
|
||||
AMERICA_ROSARIO(TimeZone.getTimeZone("America/Rosario")),
|
||||
AMERICA_SANTIAGO(TimeZone.getTimeZone("America/Santiago")),
|
||||
AMERICA_SANTO_DOMINGO(TimeZone.getTimeZone("America/Santo_Domingo")),
|
||||
AMERICA_SAO_PAULO(TimeZone.getTimeZone("America/Sao_Paulo")),
|
||||
AMERICA_SCORESBYSUND(TimeZone.getTimeZone("America/Scoresbysund")),
|
||||
AMERICA_SHIPROCK(TimeZone.getTimeZone("America/Shiprock")),
|
||||
AMERICA_ST_JOHNS(TimeZone.getTimeZone("America/St_Johns")),
|
||||
AMERICA_ST_KITTS(TimeZone.getTimeZone("America/St_Kitts")),
|
||||
AMERICA_ST_LUCIA(TimeZone.getTimeZone("America/St_Lucia")),
|
||||
AMERICA_ST_THOMAS(TimeZone.getTimeZone("America/St_Thomas")),
|
||||
AMERICA_ST_VINCENT(TimeZone.getTimeZone("America/St_Vincent")),
|
||||
AMERICA_SWIFT_CURRENT(TimeZone.getTimeZone("America/Swift_Current")),
|
||||
AMERICA_TEGUCIGALPA(TimeZone.getTimeZone("America/Tegucigalpa")),
|
||||
AMERICA_THULE(TimeZone.getTimeZone("America/Thule")),
|
||||
AMERICA_THUNDER_BAY(TimeZone.getTimeZone("America/Thunder_Bay")),
|
||||
AMERICA_TIJUANA(TimeZone.getTimeZone("America/Tijuana")),
|
||||
AMERICA_TORTOLA(TimeZone.getTimeZone("America/Tortola")),
|
||||
AMERICA_VANCOUVER(TimeZone.getTimeZone("America/Vancouver")),
|
||||
AMERICA_VIRGIN(TimeZone.getTimeZone("America/Virgin")),
|
||||
AMERICA_WHITEHORSE(TimeZone.getTimeZone("America/Whitehorse")),
|
||||
AMERICA_WINNIPEG(TimeZone.getTimeZone("America/Winnipeg")),
|
||||
AMERICA_YAKUTAT(TimeZone.getTimeZone("America/Yakutat")),
|
||||
AMERICA_YELLOWKNIFE(TimeZone.getTimeZone("America/Yellowknife")),
|
||||
ANTARCTICA_CASEY(TimeZone.getTimeZone("Antarctica/Casey")),
|
||||
ANTARCTICA_DAVIS(TimeZone.getTimeZone("Antarctica/Davis")),
|
||||
ANTARCTICA_DUMONTDURVILLE(TimeZone.getTimeZone("Antarctica/DumontDUrville")),
|
||||
ANTARCTICA_MAWSON(TimeZone.getTimeZone("Antarctica/Mawson")),
|
||||
ANTARCTICA_MCMURDO(TimeZone.getTimeZone("Antarctica/McMurdo")),
|
||||
ANTARCTICA_PALMER(TimeZone.getTimeZone("Antarctica/Palmer")),
|
||||
ANTARCTICA_ROTHERA(TimeZone.getTimeZone("Antarctica/Rothera")),
|
||||
ANTARCTICA_SOUTH_POLE(TimeZone.getTimeZone("Antarctica/South_Pole")),
|
||||
ANTARCTICA_SYOWA(TimeZone.getTimeZone("Antarctica/Syowa")),
|
||||
ANTARCTICA_VOSTOK(TimeZone.getTimeZone("Antarctica/Vostok")),
|
||||
ARCTIC_LONGYEARBYEN(TimeZone.getTimeZone("Arctic/Longyearbyen")),
|
||||
ART(TimeZone.getTimeZone("ART")),
|
||||
ASIA_ADEN(TimeZone.getTimeZone("Asia/Aden")),
|
||||
ASIA_ALMATY(TimeZone.getTimeZone("Asia/Almaty")),
|
||||
ASIA_AMMAN(TimeZone.getTimeZone("Asia/Amman")),
|
||||
ASIA_ANADYR(TimeZone.getTimeZone("Asia/Anadyr")),
|
||||
ASIA_AQTAU(TimeZone.getTimeZone("Asia/Aqtau")),
|
||||
ASIA_AQTOBE(TimeZone.getTimeZone("Asia/Aqtobe")),
|
||||
ASIA_ASHGABAT(TimeZone.getTimeZone("Asia/Ashgabat")),
|
||||
ASIA_ASHKHABAD(TimeZone.getTimeZone("Asia/Ashkhabad")),
|
||||
ASIA_BAGHDAD(TimeZone.getTimeZone("Asia/Baghdad")),
|
||||
ASIA_BAHRAIN(TimeZone.getTimeZone("Asia/Bahrain")),
|
||||
ASIA_BAKU(TimeZone.getTimeZone("Asia/Baku")),
|
||||
ASIA_BANGKOK(TimeZone.getTimeZone("Asia/Bangkok")),
|
||||
ASIA_BEIRUT(TimeZone.getTimeZone("Asia/Beirut")),
|
||||
ASIA_BISHKEK(TimeZone.getTimeZone("Asia/Bishkek")),
|
||||
ASIA_BRUNEI(TimeZone.getTimeZone("Asia/Brunei")),
|
||||
ASIA_CALCUTTA(TimeZone.getTimeZone("Asia/Calcutta")),
|
||||
ASIA_CHOIBALSAN(TimeZone.getTimeZone("Asia/Choibalsan")),
|
||||
ASIA_CHONGQING(TimeZone.getTimeZone("Asia/Chongqing")),
|
||||
ASIA_CHUNGKING(TimeZone.getTimeZone("Asia/Chungking")),
|
||||
ASIA_COLOMBO(TimeZone.getTimeZone("Asia/Colombo")),
|
||||
ASIA_DACCA(TimeZone.getTimeZone("Asia/Dacca")),
|
||||
ASIA_DAMASCUS(TimeZone.getTimeZone("Asia/Damascus")),
|
||||
ASIA_DHAKA(TimeZone.getTimeZone("Asia/Dhaka")),
|
||||
ASIA_DILI(TimeZone.getTimeZone("Asia/Dili")),
|
||||
ASIA_DUBAI(TimeZone.getTimeZone("Asia/Dubai")),
|
||||
ASIA_DUSHANBE(TimeZone.getTimeZone("Asia/Dushanbe")),
|
||||
ASIA_GAZA(TimeZone.getTimeZone("Asia/Gaza")),
|
||||
ASIA_HARBIN(TimeZone.getTimeZone("Asia/Harbin")),
|
||||
ASIA_HONG_KONG(TimeZone.getTimeZone("Asia/Hong_Kong")),
|
||||
ASIA_HOVD(TimeZone.getTimeZone("Asia/Hovd")),
|
||||
ASIA_IRKUTSK(TimeZone.getTimeZone("Asia/Irkutsk")),
|
||||
ASIA_ISTANBUL(TimeZone.getTimeZone("Asia/Istanbul")),
|
||||
ASIA_JAKARTA(TimeZone.getTimeZone("Asia/Jakarta")),
|
||||
ASIA_JAYAPURA(TimeZone.getTimeZone("Asia/Jayapura")),
|
||||
ASIA_JERUSALEM(TimeZone.getTimeZone("Asia/Jerusalem")),
|
||||
ASIA_KABUL(TimeZone.getTimeZone("Asia/Kabul")),
|
||||
ASIA_KAMCHATKA(TimeZone.getTimeZone("Asia/Kamchatka")),
|
||||
ASIA_KARACHI(TimeZone.getTimeZone("Asia/Karachi")),
|
||||
ASIA_KASHGAR(TimeZone.getTimeZone("Asia/Kashgar")),
|
||||
ASIA_KATMANDU(TimeZone.getTimeZone("Asia/Katmandu")),
|
||||
ASIA_KRASNOYARSK(TimeZone.getTimeZone("Asia/Krasnoyarsk")),
|
||||
ASIA_KUALA_LUMPUR(TimeZone.getTimeZone("Asia/Kuala_Lumpur")),
|
||||
ASIA_KUCHING(TimeZone.getTimeZone("Asia/Kuching")),
|
||||
ASIA_KUWAIT(TimeZone.getTimeZone("Asia/Kuwait")),
|
||||
ASIA_MACAO(TimeZone.getTimeZone("Asia/Macao")),
|
||||
ASIA_MACAU(TimeZone.getTimeZone("Asia/Macau")),
|
||||
ASIA_MAGADAN(TimeZone.getTimeZone("Asia/Magadan")),
|
||||
ASIA_MAKASSAR(TimeZone.getTimeZone("Asia/Makassar")),
|
||||
ASIA_MANILA(TimeZone.getTimeZone("Asia/Manila")),
|
||||
ASIA_MUSCAT(TimeZone.getTimeZone("Asia/Muscat")),
|
||||
ASIA_NICOSIA(TimeZone.getTimeZone("Asia/Nicosia")),
|
||||
ASIA_NOVOSIBIRSK(TimeZone.getTimeZone("Asia/Novosibirsk")),
|
||||
ASIA_OMSK(TimeZone.getTimeZone("Asia/Omsk")),
|
||||
ASIA_ORAL(TimeZone.getTimeZone("Asia/Oral")),
|
||||
ASIA_PHNOM_PENH(TimeZone.getTimeZone("Asia/Phnom_Penh")),
|
||||
ASIA_PONTIANAK(TimeZone.getTimeZone("Asia/Pontianak")),
|
||||
ASIA_PYONGYANG(TimeZone.getTimeZone("Asia/Pyongyang")),
|
||||
ASIA_QATAR(TimeZone.getTimeZone("Asia/Qatar")),
|
||||
ASIA_QYZYLORDA(TimeZone.getTimeZone("Asia/Qyzylorda")),
|
||||
ASIA_RANGOON(TimeZone.getTimeZone("Asia/Rangoon")),
|
||||
ASIA_RIYADH(TimeZone.getTimeZone("Asia/Riyadh")),
|
||||
ASIA_RIYADH87(TimeZone.getTimeZone("Asia/Riyadh87")),
|
||||
ASIA_RIYADH88(TimeZone.getTimeZone("Asia/Riyadh88")),
|
||||
ASIA_RIYADH89(TimeZone.getTimeZone("Asia/Riyadh89")),
|
||||
ASIA_SAIGON(TimeZone.getTimeZone("Asia/Saigon")),
|
||||
ASIA_SAKHALIN(TimeZone.getTimeZone("Asia/Sakhalin")),
|
||||
ASIA_SAMARKAND(TimeZone.getTimeZone("Asia/Samarkand")),
|
||||
ASIA_SEOUL(TimeZone.getTimeZone("Asia/Seoul")),
|
||||
ASIA_SHANGHAI(TimeZone.getTimeZone("Asia/Shanghai")),
|
||||
ASIA_SINGAPORE(TimeZone.getTimeZone("Asia/Singapore")),
|
||||
ASIA_TAIPEI(TimeZone.getTimeZone("Asia/Taipei")),
|
||||
ASIA_TASHKENT(TimeZone.getTimeZone("Asia/Tashkent")),
|
||||
ASIA_TBILISI(TimeZone.getTimeZone("Asia/Tbilisi")),
|
||||
ASIA_TEHRAN(TimeZone.getTimeZone("Asia/Tehran")),
|
||||
ASIA_TEL_AVIV(TimeZone.getTimeZone("Asia/Tel_Aviv")),
|
||||
ASIA_THIMBU(TimeZone.getTimeZone("Asia/Thimbu")),
|
||||
ASIA_THIMPHU(TimeZone.getTimeZone("Asia/Thimphu")),
|
||||
ASIA_TOKYO(TimeZone.getTimeZone("Asia/Tokyo")),
|
||||
ASIA_UJUNG_PANDANG(TimeZone.getTimeZone("Asia/Ujung_Pandang")),
|
||||
ASIA_ULAANBAATAR(TimeZone.getTimeZone("Asia/Ulaanbaatar")),
|
||||
ASIA_ULAN_BATOR(TimeZone.getTimeZone("Asia/Ulan_Bator")),
|
||||
ASIA_URUMQI(TimeZone.getTimeZone("Asia/Urumqi")),
|
||||
ASIA_VIENTIANE(TimeZone.getTimeZone("Asia/Vientiane")),
|
||||
ASIA_VLADIVOSTOK(TimeZone.getTimeZone("Asia/Vladivostok")),
|
||||
ASIA_YAKUTSK(TimeZone.getTimeZone("Asia/Yakutsk")),
|
||||
ASIA_YEKATERINBURG(TimeZone.getTimeZone("Asia/Yekaterinburg")),
|
||||
ASIA_YEREVAN(TimeZone.getTimeZone("Asia/Yerevan")),
|
||||
AST(TimeZone.getTimeZone("AST")),
|
||||
ATLANTIC_AZORES(TimeZone.getTimeZone("Atlantic/Azores")),
|
||||
ATLANTIC_BERMUDA(TimeZone.getTimeZone("Atlantic/Bermuda")),
|
||||
ATLANTIC_CANARY(TimeZone.getTimeZone("Atlantic/Canary")),
|
||||
ATLANTIC_CAPE_VERDE(TimeZone.getTimeZone("Atlantic/Cape_Verde")),
|
||||
ATLANTIC_FAEROE(TimeZone.getTimeZone("Atlantic/Faeroe")),
|
||||
ATLANTIC_JAN_MAYEN(TimeZone.getTimeZone("Atlantic/Jan_Mayen")),
|
||||
ATLANTIC_MADEIRA(TimeZone.getTimeZone("Atlantic/Madeira")),
|
||||
ATLANTIC_REYKJAVIK(TimeZone.getTimeZone("Atlantic/Reykjavik")),
|
||||
ATLANTIC_SOUTH_GEORGIA(TimeZone.getTimeZone("Atlantic/South_Georgia")),
|
||||
ATLANTIC_ST_HELENA(TimeZone.getTimeZone("Atlantic/St_Helena")),
|
||||
ATLANTIC_STANLEY(TimeZone.getTimeZone("Atlantic/Stanley")),
|
||||
AUSTRALIA_ACT(TimeZone.getTimeZone("Australia/ACT")),
|
||||
AUSTRALIA_ADELAIDE(TimeZone.getTimeZone("Australia/Adelaide")),
|
||||
AUSTRALIA_BRISBANE(TimeZone.getTimeZone("Australia/Brisbane")),
|
||||
AUSTRALIA_BROKEN_HILL(TimeZone.getTimeZone("Australia/Broken_Hill")),
|
||||
AUSTRALIA_CANBERRA(TimeZone.getTimeZone("Australia/Canberra")),
|
||||
AUSTRALIA_DARWIN(TimeZone.getTimeZone("Australia/Darwin")),
|
||||
AUSTRALIA_HOBART(TimeZone.getTimeZone("Australia/Hobart")),
|
||||
AUSTRALIA_LHI(TimeZone.getTimeZone("Australia/LHI")),
|
||||
AUSTRALIA_LINDEMAN(TimeZone.getTimeZone("Australia/Lindeman")),
|
||||
AUSTRALIA_LORD_HOWE(TimeZone.getTimeZone("Australia/Lord_Howe")),
|
||||
AUSTRALIA_MELBOURNE(TimeZone.getTimeZone("Australia/Melbourne")),
|
||||
AUSTRALIA_NORTH(TimeZone.getTimeZone("Australia/North")),
|
||||
AUSTRALIA_NSW(TimeZone.getTimeZone("Australia/NSW")),
|
||||
AUSTRALIA_PERTH(TimeZone.getTimeZone("Australia/Perth")),
|
||||
AUSTRALIA_QUEENSLAND(TimeZone.getTimeZone("Australia/Queensland")),
|
||||
AUSTRALIA_SOUTH(TimeZone.getTimeZone("Australia/South")),
|
||||
AUSTRALIA_SYDNEY(TimeZone.getTimeZone("Australia/Sydney")),
|
||||
AUSTRALIA_TASMANIA(TimeZone.getTimeZone("Australia/Tasmania")),
|
||||
AUSTRALIA_VICTORIA(TimeZone.getTimeZone("Australia/Victoria")),
|
||||
AUSTRALIA_WEST(TimeZone.getTimeZone("Australia/West")),
|
||||
AUSTRALIA_YANCOWINNA(TimeZone.getTimeZone("Australia/Yancowinna")),
|
||||
BET(TimeZone.getTimeZone("BET")),
|
||||
BRAZIL_ACRE(TimeZone.getTimeZone("Brazil/Acre")),
|
||||
BRAZIL_DENORONHA(TimeZone.getTimeZone("Brazil/DeNoronha")),
|
||||
BRAZIL_EAST(TimeZone.getTimeZone("Brazil/East")),
|
||||
BRAZIL_WEST(TimeZone.getTimeZone("Brazil/West")),
|
||||
BST(TimeZone.getTimeZone("BST")),
|
||||
CANADA_ATLANTIC(TimeZone.getTimeZone("Canada/Atlantic")),
|
||||
CANADA_CENTRAL(TimeZone.getTimeZone("Canada/Central")),
|
||||
CANADA_EAST_SASKATCHEWAN(TimeZone.getTimeZone("Canada/East-Saskatchewan")),
|
||||
CANADA_EASTERN(TimeZone.getTimeZone("Canada/Eastern")),
|
||||
CANADA_MOUNTAIN(TimeZone.getTimeZone("Canada/Mountain")),
|
||||
CANADA_NEWFOUNDLAND(TimeZone.getTimeZone("Canada/Newfoundland")),
|
||||
CANADA_PACIFIC(TimeZone.getTimeZone("Canada/Pacific")),
|
||||
CANADA_SASKATCHEWAN(TimeZone.getTimeZone("Canada/Saskatchewan")),
|
||||
CANADA_YUKON(TimeZone.getTimeZone("Canada/Yukon")),
|
||||
CAT(TimeZone.getTimeZone("CAT")),
|
||||
CET(TimeZone.getTimeZone("CET")),
|
||||
CHILE_CONTINENTAL(TimeZone.getTimeZone("Chile/Continental")),
|
||||
CHILE_EASTERISLAND(TimeZone.getTimeZone("Chile/EasterIsland")),
|
||||
CNT(TimeZone.getTimeZone("CNT")),
|
||||
CST(TimeZone.getTimeZone("CST")),
|
||||
CST6CDT(TimeZone.getTimeZone("CST6CDT")),
|
||||
CTT(TimeZone.getTimeZone("CTT")),
|
||||
CUBA(TimeZone.getTimeZone("Cuba")),
|
||||
EAT(TimeZone.getTimeZone("EAT")),
|
||||
ECT(TimeZone.getTimeZone("ECT")),
|
||||
EET(TimeZone.getTimeZone("EET")),
|
||||
EGYPT(TimeZone.getTimeZone("Egypt")),
|
||||
EIRE(TimeZone.getTimeZone("Eire")),
|
||||
EST(TimeZone.getTimeZone("EST")),
|
||||
EST5EDT(TimeZone.getTimeZone("EST5EDT")),
|
||||
ETC_GMT(TimeZone.getTimeZone("Etc/GMT")),
|
||||
ETC_GMT_PLUS_0(TimeZone.getTimeZone("Etc/GMT+0")),
|
||||
ETC_GMT_PLUS_1(TimeZone.getTimeZone("Etc/GMT+1")),
|
||||
ETC_GMT_PLUS_10(TimeZone.getTimeZone("Etc/GMT+10")),
|
||||
ETC_GMT_PLUS_11(TimeZone.getTimeZone("Etc/GMT+11")),
|
||||
ETC_GMT_PLUS_12(TimeZone.getTimeZone("Etc/GMT+12")),
|
||||
ETC_GMT_PLUS_2(TimeZone.getTimeZone("Etc/GMT+2")),
|
||||
ETC_GMT_PLUS_3(TimeZone.getTimeZone("Etc/GMT+3")),
|
||||
ETC_GMT_PLUS_4(TimeZone.getTimeZone("Etc/GMT+4")),
|
||||
ETC_GMT_PLUS_5(TimeZone.getTimeZone("Etc/GMT+5")),
|
||||
ETC_GMT_PLUS_6(TimeZone.getTimeZone("Etc/GMT+6")),
|
||||
ETC_GMT_PLUS_7(TimeZone.getTimeZone("Etc/GMT+7")),
|
||||
ETC_GMT_PLUS_8(TimeZone.getTimeZone("Etc/GMT+8")),
|
||||
ETC_GMT_PLUS_9(TimeZone.getTimeZone("Etc/GMT+9")),
|
||||
ETC_GMT_MINUS_0(TimeZone.getTimeZone("Etc/GMT-0")),
|
||||
ETC_GMT_MINUS_1(TimeZone.getTimeZone("Etc/GMT-1")),
|
||||
ETC_GMT_MINUS_10(TimeZone.getTimeZone("Etc/GMT-10")),
|
||||
ETC_GMT_MINUS_11(TimeZone.getTimeZone("Etc/GMT-11")),
|
||||
ETC_GMT_MINUS_12(TimeZone.getTimeZone("Etc/GMT-12")),
|
||||
ETC_GMT_MINUS_13(TimeZone.getTimeZone("Etc/GMT-13")),
|
||||
ETC_GMT_MINUS_14(TimeZone.getTimeZone("Etc/GMT-14")),
|
||||
ETC_GMT_MINUS_2(TimeZone.getTimeZone("Etc/GMT-2")),
|
||||
ETC_GMT_MINUS_3(TimeZone.getTimeZone("Etc/GMT-3")),
|
||||
ETC_GMT_MINUS_4(TimeZone.getTimeZone("Etc/GMT-4")),
|
||||
ETC_GMT_MINUS_5(TimeZone.getTimeZone("Etc/GMT-5")),
|
||||
ETC_GMT_MINUS_6(TimeZone.getTimeZone("Etc/GMT-6")),
|
||||
ETC_GMT_MINUS_7(TimeZone.getTimeZone("Etc/GMT-7")),
|
||||
ETC_GMT_MINUS_8(TimeZone.getTimeZone("Etc/GMT-8")),
|
||||
ETC_GMT_MINUS_9(TimeZone.getTimeZone("Etc/GMT-9")),
|
||||
ETC_GMT0(TimeZone.getTimeZone("Etc/GMT0")),
|
||||
ETC_GREENWICH(TimeZone.getTimeZone("Etc/Greenwich")),
|
||||
ETC_UCT(TimeZone.getTimeZone("Etc/UCT")),
|
||||
ETC_UNIVERSAL(TimeZone.getTimeZone("Etc/Universal")),
|
||||
ETC_UTC(TimeZone.getTimeZone("Etc/UTC")),
|
||||
ETC_ZULU(TimeZone.getTimeZone("Etc/Zulu")),
|
||||
EUROPE_AMSTERDAM(TimeZone.getTimeZone("Europe/Amsterdam")),
|
||||
EUROPE_ANDORRA(TimeZone.getTimeZone("Europe/Andorra")),
|
||||
EUROPE_ATHENS(TimeZone.getTimeZone("Europe/Athens")),
|
||||
EUROPE_BELFAST(TimeZone.getTimeZone("Europe/Belfast")),
|
||||
EUROPE_BELGRADE(TimeZone.getTimeZone("Europe/Belgrade")),
|
||||
EUROPE_BERLIN(TimeZone.getTimeZone("Europe/Berlin")),
|
||||
EUROPE_BRATISLAVA(TimeZone.getTimeZone("Europe/Bratislava")),
|
||||
EUROPE_BRUSSELS(TimeZone.getTimeZone("Europe/Brussels")),
|
||||
EUROPE_BUCHAREST(TimeZone.getTimeZone("Europe/Bucharest")),
|
||||
EUROPE_BUDAPEST(TimeZone.getTimeZone("Europe/Budapest")),
|
||||
EUROPE_CHISINAU(TimeZone.getTimeZone("Europe/Chisinau")),
|
||||
EUROPE_COPENHAGEN(TimeZone.getTimeZone("Europe/Copenhagen")),
|
||||
EUROPE_DUBLIN(TimeZone.getTimeZone("Europe/Dublin")),
|
||||
EUROPE_GIBRALTAR(TimeZone.getTimeZone("Europe/Gibraltar")),
|
||||
EUROPE_HELSINKI(TimeZone.getTimeZone("Europe/Helsinki")),
|
||||
EUROPE_ISTANBUL(TimeZone.getTimeZone("Europe/Istanbul")),
|
||||
EUROPE_KALININGRAD(TimeZone.getTimeZone("Europe/Kaliningrad")),
|
||||
EUROPE_KIEV(TimeZone.getTimeZone("Europe/Kiev")),
|
||||
EUROPE_LISBON(TimeZone.getTimeZone("Europe/Lisbon")),
|
||||
EUROPE_LJUBLJANA(TimeZone.getTimeZone("Europe/Ljubljana")),
|
||||
EUROPE_LONDON(TimeZone.getTimeZone("Europe/London")),
|
||||
EUROPE_LUXEMBOURG(TimeZone.getTimeZone("Europe/Luxembourg")),
|
||||
EUROPE_MADRID(TimeZone.getTimeZone("Europe/Madrid")),
|
||||
EUROPE_MALTA(TimeZone.getTimeZone("Europe/Malta")),
|
||||
EUROPE_MINSK(TimeZone.getTimeZone("Europe/Minsk")),
|
||||
EUROPE_MONACO(TimeZone.getTimeZone("Europe/Monaco")),
|
||||
EUROPE_MOSCOW(TimeZone.getTimeZone("Europe/Moscow")),
|
||||
EUROPE_NICOSIA(TimeZone.getTimeZone("Europe/Nicosia")),
|
||||
EUROPE_OSLO(TimeZone.getTimeZone("Europe/Oslo")),
|
||||
EUROPE_PARIS(TimeZone.getTimeZone("Europe/Paris")),
|
||||
EUROPE_PRAGUE(TimeZone.getTimeZone("Europe/Prague")),
|
||||
EUROPE_RIGA(TimeZone.getTimeZone("Europe/Riga")),
|
||||
EUROPE_ROME(TimeZone.getTimeZone("Europe/Rome")),
|
||||
EUROPE_SAMARA(TimeZone.getTimeZone("Europe/Samara")),
|
||||
EUROPE_SAN_MARINO(TimeZone.getTimeZone("Europe/San_Marino")),
|
||||
EUROPE_SARAJEVO(TimeZone.getTimeZone("Europe/Sarajevo")),
|
||||
EUROPE_SIMFEROPOL(TimeZone.getTimeZone("Europe/Simferopol")),
|
||||
EUROPE_SKOPJE(TimeZone.getTimeZone("Europe/Skopje")),
|
||||
EUROPE_SOFIA(TimeZone.getTimeZone("Europe/Sofia")),
|
||||
EUROPE_STOCKHOLM(TimeZone.getTimeZone("Europe/Stockholm")),
|
||||
EUROPE_TALLINN(TimeZone.getTimeZone("Europe/Tallinn")),
|
||||
EUROPE_TIRANE(TimeZone.getTimeZone("Europe/Tirane")),
|
||||
EUROPE_TIRASPOL(TimeZone.getTimeZone("Europe/Tiraspol")),
|
||||
EUROPE_UZHGOROD(TimeZone.getTimeZone("Europe/Uzhgorod")),
|
||||
EUROPE_VADUZ(TimeZone.getTimeZone("Europe/Vaduz")),
|
||||
EUROPE_VATICAN(TimeZone.getTimeZone("Europe/Vatican")),
|
||||
EUROPE_VIENNA(TimeZone.getTimeZone("Europe/Vienna")),
|
||||
EUROPE_VILNIUS(TimeZone.getTimeZone("Europe/Vilnius")),
|
||||
EUROPE_WARSAW(TimeZone.getTimeZone("Europe/Warsaw")),
|
||||
EUROPE_ZAGREB(TimeZone.getTimeZone("Europe/Zagreb")),
|
||||
EUROPE_ZAPOROZHYE(TimeZone.getTimeZone("Europe/Zaporozhye")),
|
||||
EUROPE_ZURICH(TimeZone.getTimeZone("Europe/Zurich")),
|
||||
GB(TimeZone.getTimeZone("GB")),
|
||||
GB_EIRE(TimeZone.getTimeZone("GB-Eire")),
|
||||
GMT(TimeZone.getTimeZone("GMT")),
|
||||
GMT0(TimeZone.getTimeZone("GMT0")),
|
||||
GREENWICH(TimeZone.getTimeZone("Greenwich")),
|
||||
HONGKONG(TimeZone.getTimeZone("Hongkong")),
|
||||
HST(TimeZone.getTimeZone("HST")),
|
||||
ICELAND(TimeZone.getTimeZone("Iceland")),
|
||||
IET(TimeZone.getTimeZone("IET")),
|
||||
INDIAN_ANTANANARIVO(TimeZone.getTimeZone("Indian/Antananarivo")),
|
||||
INDIAN_CHAGOS(TimeZone.getTimeZone("Indian/Chagos")),
|
||||
INDIAN_CHRISTMAS(TimeZone.getTimeZone("Indian/Christmas")),
|
||||
INDIAN_COCOS(TimeZone.getTimeZone("Indian/Cocos")),
|
||||
INDIAN_COMORO(TimeZone.getTimeZone("Indian/Comoro")),
|
||||
INDIAN_KERGUELEN(TimeZone.getTimeZone("Indian/Kerguelen")),
|
||||
INDIAN_MAHE(TimeZone.getTimeZone("Indian/Mahe")),
|
||||
INDIAN_MALDIVES(TimeZone.getTimeZone("Indian/Maldives")),
|
||||
INDIAN_MAURITIUS(TimeZone.getTimeZone("Indian/Mauritius")),
|
||||
INDIAN_MAYOTTE(TimeZone.getTimeZone("Indian/Mayotte")),
|
||||
INDIAN_REUNION(TimeZone.getTimeZone("Indian/Reunion")),
|
||||
IRAN(TimeZone.getTimeZone("Iran")),
|
||||
ISRAEL(TimeZone.getTimeZone("Israel")),
|
||||
IST(TimeZone.getTimeZone("IST")),
|
||||
JAMAICA(TimeZone.getTimeZone("Jamaica")),
|
||||
JAPAN(TimeZone.getTimeZone("Japan")),
|
||||
JST(TimeZone.getTimeZone("JST")),
|
||||
KWAJALEIN(TimeZone.getTimeZone("Kwajalein")),
|
||||
LIBYA(TimeZone.getTimeZone("Libya")),
|
||||
MET(TimeZone.getTimeZone("MET")),
|
||||
MEXICO_BAJANORTE(TimeZone.getTimeZone("Mexico/BajaNorte")),
|
||||
MEXICO_BAJASUR(TimeZone.getTimeZone("Mexico/BajaSur")),
|
||||
MEXICO_GENERAL(TimeZone.getTimeZone("Mexico/General")),
|
||||
MIDEAST_RIYADH87(TimeZone.getTimeZone("Mideast/Riyadh87")),
|
||||
MIDEAST_RIYADH88(TimeZone.getTimeZone("Mideast/Riyadh88")),
|
||||
MIDEAST_RIYADH89(TimeZone.getTimeZone("Mideast/Riyadh89")),
|
||||
MIT(TimeZone.getTimeZone("MIT")),
|
||||
MST(TimeZone.getTimeZone("MST")),
|
||||
MST7MDT(TimeZone.getTimeZone("MST7MDT")),
|
||||
NAVAJO(TimeZone.getTimeZone("Navajo")),
|
||||
NET(TimeZone.getTimeZone("NET")),
|
||||
NST(TimeZone.getTimeZone("NST")),
|
||||
NZ(TimeZone.getTimeZone("NZ")),
|
||||
NZ_CHAT(TimeZone.getTimeZone("NZ-CHAT")),
|
||||
PACIFIC_APIA(TimeZone.getTimeZone("Pacific/Apia")),
|
||||
PACIFIC_AUCKLAND(TimeZone.getTimeZone("Pacific/Auckland")),
|
||||
PACIFIC_CHATHAM(TimeZone.getTimeZone("Pacific/Chatham")),
|
||||
PACIFIC_EASTER(TimeZone.getTimeZone("Pacific/Easter")),
|
||||
PACIFIC_EFATE(TimeZone.getTimeZone("Pacific/Efate")),
|
||||
PACIFIC_ENDERBURY(TimeZone.getTimeZone("Pacific/Enderbury")),
|
||||
PACIFIC_FAKAOFO(TimeZone.getTimeZone("Pacific/Fakaofo")),
|
||||
PACIFIC_FIJI(TimeZone.getTimeZone("Pacific/Fiji")),
|
||||
PACIFIC_FUNAFUTI(TimeZone.getTimeZone("Pacific/Funafuti")),
|
||||
PACIFIC_GALAPAGOS(TimeZone.getTimeZone("Pacific/Galapagos")),
|
||||
PACIFIC_GAMBIER(TimeZone.getTimeZone("Pacific/Gambier")),
|
||||
PACIFIC_GUADALCANAL(TimeZone.getTimeZone("Pacific/Guadalcanal")),
|
||||
PACIFIC_GUAM(TimeZone.getTimeZone("Pacific/Guam")),
|
||||
PACIFIC_HONOLULU(TimeZone.getTimeZone("Pacific/Honolulu")),
|
||||
PACIFIC_JOHNSTON(TimeZone.getTimeZone("Pacific/Johnston")),
|
||||
PACIFIC_KIRITIMATI(TimeZone.getTimeZone("Pacific/Kiritimati")),
|
||||
PACIFIC_KOSRAE(TimeZone.getTimeZone("Pacific/Kosrae")),
|
||||
PACIFIC_KWAJALEIN(TimeZone.getTimeZone("Pacific/Kwajalein")),
|
||||
PACIFIC_MAJURO(TimeZone.getTimeZone("Pacific/Majuro")),
|
||||
PACIFIC_MARQUESAS(TimeZone.getTimeZone("Pacific/Marquesas")),
|
||||
PACIFIC_MIDWAY(TimeZone.getTimeZone("Pacific/Midway")),
|
||||
PACIFIC_NAURU(TimeZone.getTimeZone("Pacific/Nauru")),
|
||||
PACIFIC_NIUE(TimeZone.getTimeZone("Pacific/Niue")),
|
||||
PACIFIC_NORFOLK(TimeZone.getTimeZone("Pacific/Norfolk")),
|
||||
PACIFIC_NOUMEA(TimeZone.getTimeZone("Pacific/Noumea")),
|
||||
PACIFIC_PAGO_PAGO(TimeZone.getTimeZone("Pacific/Pago_Pago")),
|
||||
PACIFIC_PALAU(TimeZone.getTimeZone("Pacific/Palau")),
|
||||
PACIFIC_PITCAIRN(TimeZone.getTimeZone("Pacific/Pitcairn")),
|
||||
PACIFIC_PONAPE(TimeZone.getTimeZone("Pacific/Ponape")),
|
||||
PACIFIC_PORT_MORESBY(TimeZone.getTimeZone("Pacific/Port_Moresby")),
|
||||
PACIFIC_RAROTONGA(TimeZone.getTimeZone("Pacific/Rarotonga")),
|
||||
PACIFIC_SAIPAN(TimeZone.getTimeZone("Pacific/Saipan")),
|
||||
PACIFIC_SAMOA(TimeZone.getTimeZone("Pacific/Samoa")),
|
||||
PACIFIC_TAHITI(TimeZone.getTimeZone("Pacific/Tahiti")),
|
||||
PACIFIC_TARAWA(TimeZone.getTimeZone("Pacific/Tarawa")),
|
||||
PACIFIC_TONGATAPU(TimeZone.getTimeZone("Pacific/Tongatapu")),
|
||||
PACIFIC_TRUK(TimeZone.getTimeZone("Pacific/Truk")),
|
||||
PACIFIC_WAKE(TimeZone.getTimeZone("Pacific/Wake")),
|
||||
PACIFIC_WALLIS(TimeZone.getTimeZone("Pacific/Wallis")),
|
||||
PACIFIC_YAP(TimeZone.getTimeZone("Pacific/Yap")),
|
||||
PLT(TimeZone.getTimeZone("PLT")),
|
||||
PNT(TimeZone.getTimeZone("PNT")),
|
||||
POLAND(TimeZone.getTimeZone("Poland")),
|
||||
PORTUGAL(TimeZone.getTimeZone("Portugal")),
|
||||
PRC(TimeZone.getTimeZone("PRC")),
|
||||
PRT(TimeZone.getTimeZone("PRT")),
|
||||
PST(TimeZone.getTimeZone("PST")),
|
||||
PST8PDT(TimeZone.getTimeZone("PST8PDT")),
|
||||
ROK(TimeZone.getTimeZone("ROK")),
|
||||
SINGAPORE(TimeZone.getTimeZone("Singapore")),
|
||||
SST(TimeZone.getTimeZone("SST")),
|
||||
SYSTEMV_AST4(TimeZone.getTimeZone("SystemV/AST4")),
|
||||
SYSTEMV_AST4ADT(TimeZone.getTimeZone("SystemV/AST4ADT")),
|
||||
SYSTEMV_CST6(TimeZone.getTimeZone("SystemV/CST6")),
|
||||
SYSTEMV_CST6CDT(TimeZone.getTimeZone("SystemV/CST6CDT")),
|
||||
SYSTEMV_EST5(TimeZone.getTimeZone("SystemV/EST5")),
|
||||
SYSTEMV_EST5EDT(TimeZone.getTimeZone("SystemV/EST5EDT")),
|
||||
SYSTEMV_HST10(TimeZone.getTimeZone("SystemV/HST10")),
|
||||
SYSTEMV_MST7(TimeZone.getTimeZone("SystemV/MST7")),
|
||||
SYSTEMV_MST7MDT(TimeZone.getTimeZone("SystemV/MST7MDT")),
|
||||
SYSTEMV_PST8(TimeZone.getTimeZone("SystemV/PST8")),
|
||||
SYSTEMV_PST8PDT(TimeZone.getTimeZone("SystemV/PST8PDT")),
|
||||
SYSTEMV_YST9(TimeZone.getTimeZone("SystemV/YST9")),
|
||||
SYSTEMV_YST9YDT(TimeZone.getTimeZone("SystemV/YST9YDT")),
|
||||
TURKEY(TimeZone.getTimeZone("Turkey")),
|
||||
UCT(TimeZone.getTimeZone("UCT")),
|
||||
UNIVERSAL(TimeZone.getTimeZone("Universal")),
|
||||
US_ALASKA(TimeZone.getTimeZone("US/Alaska")),
|
||||
US_ALEUTIAN(TimeZone.getTimeZone("US/Aleutian")),
|
||||
US_ARIZONA(TimeZone.getTimeZone("US/Arizona")),
|
||||
US_CENTRAL(TimeZone.getTimeZone("US/Central")),
|
||||
US_EAST_INDIANA(TimeZone.getTimeZone("US/East-Indiana")),
|
||||
US_EASTERN(TimeZone.getTimeZone("US/Eastern")),
|
||||
US_HAWAII(TimeZone.getTimeZone("US/Hawaii")),
|
||||
US_INDIANA_STARKE(TimeZone.getTimeZone("US/Indiana-Starke")),
|
||||
US_MICHIGAN(TimeZone.getTimeZone("US/Michigan")),
|
||||
US_MOUNTAIN(TimeZone.getTimeZone("US/Mountain")),
|
||||
US_PACIFIC(TimeZone.getTimeZone("US/Pacific")),
|
||||
US_PACIFIC_NEW(TimeZone.getTimeZone("US/Pacific-New")),
|
||||
US_SAMOA(TimeZone.getTimeZone("US/Samoa")),
|
||||
UTC(TimeZone.getTimeZone("UTC")),
|
||||
VST(TimeZone.getTimeZone("VST")),
|
||||
W_SU(TimeZone.getTimeZone("W-SU")),
|
||||
WET(TimeZone.getTimeZone("WET")),
|
||||
ZULU(TimeZone.getTimeZone("Zulu"));
|
||||
|
||||
private final TimeZone tz;
|
||||
|
||||
private TimeZones(TimeZone tz) {
|
||||
this.tz = tz;
|
||||
}
|
||||
|
||||
public final TimeZone getTimeZone() {
|
||||
return this.tz;
|
||||
}
|
||||
}
|
@ -225,4 +225,6 @@
|
||||
<string name="UnpinSticker">Unpin</string>
|
||||
<string name="SetPinnedSuffix">(Pinned)</string>
|
||||
<string name="AppLinkFDroid">F-Droid</string>
|
||||
<string name="UsePersianCalender">Use persian calender</string>
|
||||
<string name="UsePersianCalenderInfo">Display date with Solar Hijri calendar</string>
|
||||
</resources>
|
Loading…
Reference in New Issue
Block a user