use of android.icu.util.TimeZone in project j2objc by google.
the class TimeZoneRegressionTest method Test4208960.
/**
* SimpleTimeZone.getOffset() throws IllegalArgumentException when to get
* of 2/29/1996 (leap day).
*/
@Test
public void Test4208960() {
TimeZone tz = TimeZone.getTimeZone("PST");
try {
/*int offset =*/
tz.getOffset(GregorianCalendar.AD, 1996, Calendar.FEBRUARY, 29, Calendar.THURSDAY, 0);
// offset = 0;
} catch (IllegalArgumentException e) {
errln("FAILED: to get TimeZone.getOffset(2/29/96)");
}
try {
/*int offset =*/
tz.getOffset(GregorianCalendar.AD, 1997, Calendar.FEBRUARY, 29, Calendar.THURSDAY, 0);
// offset = 0;
warnln("FAILED: TimeZone.getOffset(2/29/97) expected to throw Exception.");
} catch (IllegalArgumentException e) {
logln("got IllegalArgumentException");
}
}
use of android.icu.util.TimeZone in project j2objc by google.
the class ZoneMeta method getAvailableIDs.
/**
* Returns an immutable set of system IDs for the given conditions.
* @param type a system time zone type.
* @param region a region, or null.
* @param rawOffset a zone raw offset or null.
* @return An immutable set of system IDs for the given conditions.
*/
public static Set<String> getAvailableIDs(SystemTimeZoneType type, String region, Integer rawOffset) {
Set<String> baseSet = null;
switch(type) {
case ANY:
baseSet = getSystemZIDs();
break;
case CANONICAL:
baseSet = getCanonicalSystemZIDs();
break;
case CANONICAL_LOCATION:
baseSet = getCanonicalSystemLocationZIDs();
break;
default:
// never occur
throw new IllegalArgumentException("Unknown SystemTimeZoneType");
}
if (region == null && rawOffset == null) {
return baseSet;
}
if (region != null) {
region = region.toUpperCase(Locale.ENGLISH);
}
// Filter by region/rawOffset
Set<String> result = new TreeSet<String>();
for (String id : baseSet) {
if (region != null) {
String r = getRegion(id);
if (!region.equals(r)) {
continue;
}
}
if (rawOffset != null) {
// This is VERY inefficient.
TimeZone z = getSystemTimeZone(id);
if (z == null || !rawOffset.equals(z.getRawOffset())) {
continue;
}
}
result.add(id);
}
if (result.isEmpty()) {
return Collections.emptySet();
}
return Collections.unmodifiableSet(result);
}
use of android.icu.util.TimeZone in project j2objc by google.
the class TimeZoneGenericNames method init.
/**
* Private method initializing the instance of <code>TimeZoneGenericName</code>.
* This method should be called from a constructor and readObject.
*/
private void init() {
if (_tznames == null) {
_tznames = TimeZoneNames.getInstance(_locale);
}
_genericLocationNamesMap = new ConcurrentHashMap<String, String>();
_genericPartialLocationNamesMap = new ConcurrentHashMap<String, String>();
_gnamesTrie = new TextTrieMap<NameInfo>(true);
_gnamesTrieFullyLoaded = false;
// Preload zone strings for the default time zone
TimeZone tz = TimeZone.getDefault();
String tzCanonicalID = ZoneMeta.getCanonicalCLDRID(tz);
if (tzCanonicalID != null) {
loadStrings(tzCanonicalID);
}
}
use of android.icu.util.TimeZone in project j2objc by google.
the class IslamicTest method TestIslamicUmAlQura.
@Test
public void TestIslamicUmAlQura() {
class GregoUmmAlQuraMap {
public int gYear;
// 1-based
public int gMon;
public int gDay;
public int uYear;
// 1-based
public int uMon;
public int uDay;
// Simple constructor
public GregoUmmAlQuraMap(int gY, int gM, int gD, int uY, int uM, int uD) {
gYear = gY;
gMon = gM;
gDay = gD;
uYear = uY;
uMon = uM;
uDay = uD;
}
}
;
// data from
// Official Umm-al-Qura calendar of SA:
// home, http://www.ummulqura.org.sa/default.aspx
// converter, http://www.ummulqura.org.sa/Index.aspx
final GregoUmmAlQuraMap[] guMappings = { // (using 1-based months here)
new GregoUmmAlQuraMap(1882, 11, 12, 1300, 1, 1), new GregoUmmAlQuraMap(1892, 7, 25, 1310, 1, 1), new GregoUmmAlQuraMap(1896, 6, 12, 1314, 1, 1), new GregoUmmAlQuraMap(1898, 5, 22, 1316, 1, 1), new GregoUmmAlQuraMap(1900, 4, 30, 1318, 1, 1), new GregoUmmAlQuraMap(1901, 4, 20, 1319, 1, 1), new GregoUmmAlQuraMap(1902, 4, 10, 1320, 1, 1), new GregoUmmAlQuraMap(1903, 3, 30, 1321, 1, 1), new GregoUmmAlQuraMap(1904, 3, 19, 1322, 1, 1), new GregoUmmAlQuraMap(1905, 3, 8, 1323, 1, 1), new GregoUmmAlQuraMap(1906, 2, 25, 1324, 1, 1), new GregoUmmAlQuraMap(1907, 2, 14, 1325, 1, 1), new GregoUmmAlQuraMap(1908, 2, 4, 1326, 1, 1), new GregoUmmAlQuraMap(1909, 1, 23, 1327, 1, 1), new GregoUmmAlQuraMap(1910, 1, 13, 1328, 1, 1), new GregoUmmAlQuraMap(1911, 1, 2, 1329, 1, 1), new GregoUmmAlQuraMap(1911, 12, 22, 1330, 1, 1), new GregoUmmAlQuraMap(1912, 12, 10, 1331, 1, 1), new GregoUmmAlQuraMap(1913, 11, 30, 1332, 1, 1), new GregoUmmAlQuraMap(1914, 11, 19, 1333, 1, 1), new GregoUmmAlQuraMap(1915, 11, 9, 1334, 1, 1), new GregoUmmAlQuraMap(1916, 10, 28, 1335, 1, 1), new GregoUmmAlQuraMap(1917, 10, 18, 1336, 1, 1), new GregoUmmAlQuraMap(1918, 10, 7, 1337, 1, 1), new GregoUmmAlQuraMap(1919, 9, 26, 1338, 1, 1), new GregoUmmAlQuraMap(1920, 9, 14, 1339, 1, 1), new GregoUmmAlQuraMap(1921, 9, 4, 1340, 1, 1), new GregoUmmAlQuraMap(1922, 8, 24, 1341, 1, 1), new GregoUmmAlQuraMap(1923, 8, 14, 1342, 1, 1), new GregoUmmAlQuraMap(1924, 8, 2, 1343, 1, 1), new GregoUmmAlQuraMap(1925, 7, 22, 1344, 1, 1), new GregoUmmAlQuraMap(1926, 7, 11, 1345, 1, 1), new GregoUmmAlQuraMap(1927, 6, 30, 1346, 1, 1), new GregoUmmAlQuraMap(1928, 6, 19, 1347, 1, 1), new GregoUmmAlQuraMap(1929, 6, 9, 1348, 1, 1), new GregoUmmAlQuraMap(1930, 5, 29, 1349, 1, 1), new GregoUmmAlQuraMap(1931, 5, 19, 1350, 1, 1), new GregoUmmAlQuraMap(1932, 5, 7, 1351, 1, 1), new GregoUmmAlQuraMap(1933, 4, 26, 1352, 1, 1), new GregoUmmAlQuraMap(1934, 4, 15, 1353, 1, 1), new GregoUmmAlQuraMap(1935, 4, 5, 1354, 1, 1), new GregoUmmAlQuraMap(1936, 3, 24, 1355, 1, 1), new GregoUmmAlQuraMap(1937, 3, 14, 1356, 1, 1), new GregoUmmAlQuraMap(1938, 3, 4, 1357, 1, 1), new GregoUmmAlQuraMap(1939, 2, 21, 1358, 1, 1), new GregoUmmAlQuraMap(1940, 2, 10, 1359, 1, 1), new GregoUmmAlQuraMap(1941, 1, 29, 1360, 1, 1), new GregoUmmAlQuraMap(1942, 1, 18, 1361, 1, 1), new GregoUmmAlQuraMap(1943, 1, 8, 1362, 1, 1), new GregoUmmAlQuraMap(1943, 12, 28, 1363, 1, 1), new GregoUmmAlQuraMap(1944, 12, 17, 1364, 1, 1), new GregoUmmAlQuraMap(1945, 12, 6, 1365, 1, 1), new GregoUmmAlQuraMap(1946, 11, 25, 1366, 1, 1), new GregoUmmAlQuraMap(1947, 11, 14, 1367, 1, 1), new GregoUmmAlQuraMap(1948, 11, 3, 1368, 1, 1), new GregoUmmAlQuraMap(1949, 10, 23, 1369, 1, 1), new GregoUmmAlQuraMap(1950, 10, 13, 1370, 1, 1), new GregoUmmAlQuraMap(1951, 10, 3, 1371, 1, 1), new GregoUmmAlQuraMap(1952, 9, 21, 1372, 1, 1), new GregoUmmAlQuraMap(1953, 9, 10, 1373, 1, 1), new GregoUmmAlQuraMap(1954, 8, 30, 1374, 1, 1), new GregoUmmAlQuraMap(1955, 8, 19, 1375, 1, 1), new GregoUmmAlQuraMap(1956, 8, 8, 1376, 1, 1), new GregoUmmAlQuraMap(1957, 7, 29, 1377, 1, 1), new GregoUmmAlQuraMap(1958, 7, 18, 1378, 1, 1), new GregoUmmAlQuraMap(1959, 7, 8, 1379, 1, 1), new GregoUmmAlQuraMap(1960, 6, 26, 1380, 1, 1), new GregoUmmAlQuraMap(1961, 6, 15, 1381, 1, 1), new GregoUmmAlQuraMap(1962, 6, 4, 1382, 1, 1), new GregoUmmAlQuraMap(1963, 5, 24, 1383, 1, 1), new GregoUmmAlQuraMap(1964, 5, 13, 1384, 1, 1), new GregoUmmAlQuraMap(1965, 5, 3, 1385, 1, 1), new GregoUmmAlQuraMap(1966, 4, 22, 1386, 1, 1), new GregoUmmAlQuraMap(1967, 4, 11, 1387, 1, 1), new GregoUmmAlQuraMap(1968, 3, 30, 1388, 1, 1), new GregoUmmAlQuraMap(1969, 3, 19, 1389, 1, 1), new GregoUmmAlQuraMap(1970, 3, 9, 1390, 1, 1), new GregoUmmAlQuraMap(1971, 2, 27, 1391, 1, 1), new GregoUmmAlQuraMap(1972, 2, 16, 1392, 1, 1), new GregoUmmAlQuraMap(1973, 2, 5, 1393, 1, 1), new GregoUmmAlQuraMap(1974, 1, 25, 1394, 1, 1), new GregoUmmAlQuraMap(1975, 1, 14, 1395, 1, 1), new GregoUmmAlQuraMap(1976, 1, 3, 1396, 1, 1), new GregoUmmAlQuraMap(1976, 12, 22, 1397, 1, 1), new GregoUmmAlQuraMap(1977, 12, 12, 1398, 1, 1), new GregoUmmAlQuraMap(1978, 12, 1, 1399, 1, 1), new GregoUmmAlQuraMap(1979, 11, 21, 1400, 1, 1), new GregoUmmAlQuraMap(1980, 11, 9, 1401, 1, 1), new GregoUmmAlQuraMap(1981, 10, 29, 1402, 1, 1), new GregoUmmAlQuraMap(1982, 10, 18, 1403, 1, 1), new GregoUmmAlQuraMap(1983, 10, 8, 1404, 1, 1), new GregoUmmAlQuraMap(1984, 9, 26, 1405, 1, 1), new GregoUmmAlQuraMap(1985, 9, 16, 1406, 1, 1), new GregoUmmAlQuraMap(1986, 9, 6, 1407, 1, 1), new GregoUmmAlQuraMap(1987, 8, 26, 1408, 1, 1), new GregoUmmAlQuraMap(1988, 8, 14, 1409, 1, 1), new GregoUmmAlQuraMap(1989, 8, 3, 1410, 1, 1), new GregoUmmAlQuraMap(1990, 7, 23, 1411, 1, 1), new GregoUmmAlQuraMap(1991, 7, 13, 1412, 1, 1), new GregoUmmAlQuraMap(1992, 7, 2, 1413, 1, 1), new GregoUmmAlQuraMap(1993, 6, 21, 1414, 1, 1), new GregoUmmAlQuraMap(1994, 6, 11, 1415, 1, 1), new GregoUmmAlQuraMap(1995, 5, 31, 1416, 1, 1), new GregoUmmAlQuraMap(1996, 5, 19, 1417, 1, 1), new GregoUmmAlQuraMap(1997, 5, 8, 1418, 1, 1), new GregoUmmAlQuraMap(1998, 4, 28, 1419, 1, 1), new GregoUmmAlQuraMap(1999, 4, 17, 1420, 1, 1), new GregoUmmAlQuraMap(1999, 5, 16, 1420, 2, 1), new GregoUmmAlQuraMap(1999, 6, 15, 1420, 3, 1), new GregoUmmAlQuraMap(1999, 7, 14, 1420, 4, 1), new GregoUmmAlQuraMap(1999, 8, 12, 1420, 5, 1), new GregoUmmAlQuraMap(1999, 9, 11, 1420, 6, 1), new GregoUmmAlQuraMap(1999, 10, 10, 1420, 7, 1), new GregoUmmAlQuraMap(1999, 11, 9, 1420, 8, 1), new GregoUmmAlQuraMap(1999, 12, 9, 1420, 9, 1), new GregoUmmAlQuraMap(2000, 1, 8, 1420, 10, 1), new GregoUmmAlQuraMap(2000, 2, 7, 1420, 11, 1), new GregoUmmAlQuraMap(2000, 3, 7, 1420, 12, 1), new GregoUmmAlQuraMap(2000, 4, 6, 1421, 1, 1), new GregoUmmAlQuraMap(2000, 5, 5, 1421, 2, 1), new GregoUmmAlQuraMap(2000, 6, 3, 1421, 3, 1), new GregoUmmAlQuraMap(2000, 7, 3, 1421, 4, 1), new GregoUmmAlQuraMap(2000, 8, 1, 1421, 5, 1), new GregoUmmAlQuraMap(2000, 8, 30, 1421, 6, 1), new GregoUmmAlQuraMap(2000, 9, 28, 1421, 7, 1), new GregoUmmAlQuraMap(2000, 10, 28, 1421, 8, 1), new GregoUmmAlQuraMap(2000, 11, 27, 1421, 9, 1), new GregoUmmAlQuraMap(2000, 12, 27, 1421, 10, 1), new GregoUmmAlQuraMap(2001, 1, 26, 1421, 11, 1), new GregoUmmAlQuraMap(2001, 2, 24, 1421, 12, 1), new GregoUmmAlQuraMap(2001, 3, 26, 1422, 1, 1), new GregoUmmAlQuraMap(2001, 4, 25, 1422, 2, 1), new GregoUmmAlQuraMap(2001, 5, 24, 1422, 3, 1), new GregoUmmAlQuraMap(2001, 6, 22, 1422, 4, 1), new GregoUmmAlQuraMap(2001, 7, 22, 1422, 5, 1), new GregoUmmAlQuraMap(2001, 8, 20, 1422, 6, 1), new GregoUmmAlQuraMap(2001, 9, 18, 1422, 7, 1), new GregoUmmAlQuraMap(2001, 10, 17, 1422, 8, 1), new GregoUmmAlQuraMap(2001, 11, 16, 1422, 9, 1), new GregoUmmAlQuraMap(2001, 12, 16, 1422, 10, 1), new GregoUmmAlQuraMap(2002, 1, 15, 1422, 11, 1), new GregoUmmAlQuraMap(2002, 2, 13, 1422, 12, 1), new GregoUmmAlQuraMap(2002, 3, 15, 1423, 1, 1), new GregoUmmAlQuraMap(2002, 4, 14, 1423, 2, 1), new GregoUmmAlQuraMap(2002, 5, 13, 1423, 3, 1), new GregoUmmAlQuraMap(2002, 6, 12, 1423, 4, 1), new GregoUmmAlQuraMap(2002, 7, 11, 1423, 5, 1), new GregoUmmAlQuraMap(2002, 8, 10, 1423, 6, 1), new GregoUmmAlQuraMap(2002, 9, 8, 1423, 7, 1), new GregoUmmAlQuraMap(2002, 10, 7, 1423, 8, 1), new GregoUmmAlQuraMap(2002, 11, 6, 1423, 9, 1), new GregoUmmAlQuraMap(2002, 12, 5, 1423, 10, 1), new GregoUmmAlQuraMap(2003, 1, 4, 1423, 11, 1), new GregoUmmAlQuraMap(2003, 2, 2, 1423, 12, 1), new GregoUmmAlQuraMap(2003, 3, 4, 1424, 1, 1), new GregoUmmAlQuraMap(2003, 4, 3, 1424, 2, 1), new GregoUmmAlQuraMap(2003, 5, 2, 1424, 3, 1), new GregoUmmAlQuraMap(2003, 6, 1, 1424, 4, 1), new GregoUmmAlQuraMap(2003, 7, 1, 1424, 5, 1), new GregoUmmAlQuraMap(2003, 7, 30, 1424, 6, 1), new GregoUmmAlQuraMap(2003, 8, 29, 1424, 7, 1), new GregoUmmAlQuraMap(2003, 9, 27, 1424, 8, 1), new GregoUmmAlQuraMap(2003, 10, 26, 1424, 9, 1), new GregoUmmAlQuraMap(2003, 11, 25, 1424, 10, 1), new GregoUmmAlQuraMap(2003, 12, 24, 1424, 11, 1), new GregoUmmAlQuraMap(2004, 1, 23, 1424, 12, 1), new GregoUmmAlQuraMap(2004, 2, 21, 1425, 1, 1), new GregoUmmAlQuraMap(2004, 3, 22, 1425, 2, 1), new GregoUmmAlQuraMap(2004, 4, 20, 1425, 3, 1), new GregoUmmAlQuraMap(2004, 5, 20, 1425, 4, 1), new GregoUmmAlQuraMap(2004, 6, 19, 1425, 5, 1), new GregoUmmAlQuraMap(2004, 7, 18, 1425, 6, 1), new GregoUmmAlQuraMap(2004, 8, 17, 1425, 7, 1), new GregoUmmAlQuraMap(2004, 9, 15, 1425, 8, 1), new GregoUmmAlQuraMap(2004, 10, 15, 1425, 9, 1), new GregoUmmAlQuraMap(2004, 11, 14, 1425, 10, 1), new GregoUmmAlQuraMap(2004, 12, 13, 1425, 11, 1), new GregoUmmAlQuraMap(2005, 1, 12, 1425, 12, 1), new GregoUmmAlQuraMap(2005, 2, 10, 1426, 1, 1), new GregoUmmAlQuraMap(2005, 3, 11, 1426, 2, 1), new GregoUmmAlQuraMap(2005, 4, 10, 1426, 3, 1), new GregoUmmAlQuraMap(2005, 5, 9, 1426, 4, 1), new GregoUmmAlQuraMap(2005, 6, 8, 1426, 5, 1), new GregoUmmAlQuraMap(2005, 7, 7, 1426, 6, 1), new GregoUmmAlQuraMap(2005, 8, 6, 1426, 7, 1), new GregoUmmAlQuraMap(2005, 9, 5, 1426, 8, 1), new GregoUmmAlQuraMap(2005, 10, 4, 1426, 9, 1), new GregoUmmAlQuraMap(2005, 11, 3, 1426, 10, 1), new GregoUmmAlQuraMap(2005, 12, 3, 1426, 11, 1), new GregoUmmAlQuraMap(2006, 1, 1, 1426, 12, 1), new GregoUmmAlQuraMap(2006, 1, 31, 1427, 1, 1), new GregoUmmAlQuraMap(2006, 3, 1, 1427, 2, 1), new GregoUmmAlQuraMap(2006, 3, 30, 1427, 3, 1), new GregoUmmAlQuraMap(2006, 4, 29, 1427, 4, 1), new GregoUmmAlQuraMap(2006, 5, 28, 1427, 5, 1), new GregoUmmAlQuraMap(2006, 6, 27, 1427, 6, 1), new GregoUmmAlQuraMap(2006, 7, 26, 1427, 7, 1), new GregoUmmAlQuraMap(2006, 8, 25, 1427, 8, 1), new GregoUmmAlQuraMap(2006, 9, 24, 1427, 9, 1), new GregoUmmAlQuraMap(2006, 10, 23, 1427, 10, 1), new GregoUmmAlQuraMap(2006, 11, 22, 1427, 11, 1), new GregoUmmAlQuraMap(2006, 12, 22, 1427, 12, 1), new GregoUmmAlQuraMap(2007, 1, 20, 1428, 1, 1), new GregoUmmAlQuraMap(2007, 2, 19, 1428, 2, 1), new GregoUmmAlQuraMap(2007, 3, 20, 1428, 3, 1), new GregoUmmAlQuraMap(2007, 4, 18, 1428, 4, 1), new GregoUmmAlQuraMap(2007, 5, 18, 1428, 5, 1), new GregoUmmAlQuraMap(2007, 6, 16, 1428, 6, 1), new GregoUmmAlQuraMap(2007, 7, 15, 1428, 7, 1), new GregoUmmAlQuraMap(2007, 8, 14, 1428, 8, 1), new GregoUmmAlQuraMap(2007, 9, 13, 1428, 9, 1), new GregoUmmAlQuraMap(2007, 10, 13, 1428, 10, 1), new GregoUmmAlQuraMap(2007, 11, 11, 1428, 11, 1), new GregoUmmAlQuraMap(2007, 12, 11, 1428, 12, 1), new GregoUmmAlQuraMap(2008, 1, 10, 1429, 1, 1), new GregoUmmAlQuraMap(2008, 2, 8, 1429, 2, 1), new GregoUmmAlQuraMap(2008, 3, 9, 1429, 3, 1), new GregoUmmAlQuraMap(2008, 4, 7, 1429, 4, 1), new GregoUmmAlQuraMap(2008, 5, 6, 1429, 5, 1), new GregoUmmAlQuraMap(2008, 6, 5, 1429, 6, 1), new GregoUmmAlQuraMap(2008, 7, 4, 1429, 7, 1), new GregoUmmAlQuraMap(2008, 8, 2, 1429, 8, 1), new GregoUmmAlQuraMap(2008, 9, 1, 1429, 9, 1), new GregoUmmAlQuraMap(2008, 10, 1, 1429, 10, 1), new GregoUmmAlQuraMap(2008, 10, 30, 1429, 11, 1), new GregoUmmAlQuraMap(2008, 11, 29, 1429, 12, 1), new GregoUmmAlQuraMap(2008, 12, 29, 1430, 1, 1), new GregoUmmAlQuraMap(2009, 1, 27, 1430, 2, 1), new GregoUmmAlQuraMap(2009, 2, 26, 1430, 3, 1), new GregoUmmAlQuraMap(2009, 3, 28, 1430, 4, 1), new GregoUmmAlQuraMap(2009, 4, 26, 1430, 5, 1), new GregoUmmAlQuraMap(2009, 5, 25, 1430, 6, 1), new GregoUmmAlQuraMap(2009, 6, 24, 1430, 7, 1), new GregoUmmAlQuraMap(2009, 7, 23, 1430, 8, 1), new GregoUmmAlQuraMap(2009, 8, 22, 1430, 9, 1), new GregoUmmAlQuraMap(2009, 9, 20, 1430, 10, 1), new GregoUmmAlQuraMap(2009, 10, 20, 1430, 11, 1), new GregoUmmAlQuraMap(2009, 11, 18, 1430, 12, 1), new GregoUmmAlQuraMap(2009, 12, 18, 1431, 1, 1), new GregoUmmAlQuraMap(2010, 1, 16, 1431, 2, 1), new GregoUmmAlQuraMap(2010, 2, 15, 1431, 3, 1), new GregoUmmAlQuraMap(2010, 3, 17, 1431, 4, 1), new GregoUmmAlQuraMap(2010, 4, 15, 1431, 5, 1), new GregoUmmAlQuraMap(2010, 5, 15, 1431, 6, 1), new GregoUmmAlQuraMap(2010, 6, 13, 1431, 7, 1), new GregoUmmAlQuraMap(2010, 7, 13, 1431, 8, 1), new GregoUmmAlQuraMap(2010, 8, 11, 1431, 9, 1), new GregoUmmAlQuraMap(2010, 9, 10, 1431, 10, 1), new GregoUmmAlQuraMap(2010, 10, 9, 1431, 11, 1), new GregoUmmAlQuraMap(2010, 11, 7, 1431, 12, 1), new GregoUmmAlQuraMap(2010, 12, 7, 1432, 1, 1), new GregoUmmAlQuraMap(2011, 1, 5, 1432, 2, 1), new GregoUmmAlQuraMap(2011, 2, 4, 1432, 3, 1), new GregoUmmAlQuraMap(2011, 3, 6, 1432, 4, 1), new GregoUmmAlQuraMap(2011, 4, 5, 1432, 5, 1), new GregoUmmAlQuraMap(2011, 5, 4, 1432, 6, 1), new GregoUmmAlQuraMap(2011, 6, 3, 1432, 7, 1), new GregoUmmAlQuraMap(2011, 7, 2, 1432, 8, 1), new GregoUmmAlQuraMap(2011, 8, 1, 1432, 9, 1), new GregoUmmAlQuraMap(2011, 8, 30, 1432, 10, 1), new GregoUmmAlQuraMap(2011, 9, 29, 1432, 11, 1), new GregoUmmAlQuraMap(2011, 10, 28, 1432, 12, 1), new GregoUmmAlQuraMap(2011, 11, 26, 1433, 1, 1), new GregoUmmAlQuraMap(2011, 12, 26, 1433, 2, 1), new GregoUmmAlQuraMap(2012, 1, 24, 1433, 3, 1), new GregoUmmAlQuraMap(2012, 2, 23, 1433, 4, 1), new GregoUmmAlQuraMap(2012, 3, 24, 1433, 5, 1), new GregoUmmAlQuraMap(2012, 4, 22, 1433, 6, 1), new GregoUmmAlQuraMap(2012, 5, 22, 1433, 7, 1), new GregoUmmAlQuraMap(2012, 6, 21, 1433, 8, 1), new GregoUmmAlQuraMap(2012, 7, 20, 1433, 9, 1), new GregoUmmAlQuraMap(2012, 8, 19, 1433, 10, 1), new GregoUmmAlQuraMap(2012, 9, 17, 1433, 11, 1), new GregoUmmAlQuraMap(2012, 10, 17, 1433, 12, 1), new GregoUmmAlQuraMap(2012, 11, 15, 1434, 1, 1), new GregoUmmAlQuraMap(2012, 12, 14, 1434, 2, 1), new GregoUmmAlQuraMap(2013, 1, 13, 1434, 3, 1), new GregoUmmAlQuraMap(2013, 2, 11, 1434, 4, 1), new GregoUmmAlQuraMap(2013, 3, 13, 1434, 5, 1), new GregoUmmAlQuraMap(2013, 4, 11, 1434, 6, 1), new GregoUmmAlQuraMap(2013, 5, 11, 1434, 7, 1), new GregoUmmAlQuraMap(2013, 6, 10, 1434, 8, 1), new GregoUmmAlQuraMap(2013, 7, 9, 1434, 9, 1), new GregoUmmAlQuraMap(2013, 8, 8, 1434, 10, 1), new GregoUmmAlQuraMap(2013, 9, 7, 1434, 11, 1), new GregoUmmAlQuraMap(2013, 10, 6, 1434, 12, 1), new GregoUmmAlQuraMap(2013, 11, 4, 1435, 1, 1), new GregoUmmAlQuraMap(2013, 12, 4, 1435, 2, 1), new GregoUmmAlQuraMap(2014, 1, 2, 1435, 3, 1), new GregoUmmAlQuraMap(2014, 2, 1, 1435, 4, 1), new GregoUmmAlQuraMap(2014, 3, 2, 1435, 5, 1), new GregoUmmAlQuraMap(2014, 4, 1, 1435, 6, 1), new GregoUmmAlQuraMap(2014, 4, 30, 1435, 7, 1), new GregoUmmAlQuraMap(2014, 5, 30, 1435, 8, 1), new GregoUmmAlQuraMap(2014, 6, 28, 1435, 9, 1), new GregoUmmAlQuraMap(2014, 7, 28, 1435, 10, 1), new GregoUmmAlQuraMap(2014, 8, 27, 1435, 11, 1), new GregoUmmAlQuraMap(2014, 9, 25, 1435, 12, 1), new GregoUmmAlQuraMap(2014, 10, 25, 1436, 1, 1), new GregoUmmAlQuraMap(2014, 11, 23, 1436, 2, 1), new GregoUmmAlQuraMap(2014, 12, 23, 1436, 3, 1), new GregoUmmAlQuraMap(2015, 1, 21, 1436, 4, 1), new GregoUmmAlQuraMap(2015, 2, 20, 1436, 5, 1), new GregoUmmAlQuraMap(2015, 3, 21, 1436, 6, 1), new GregoUmmAlQuraMap(2015, 4, 20, 1436, 7, 1), new GregoUmmAlQuraMap(2015, 5, 19, 1436, 8, 1), new GregoUmmAlQuraMap(2015, 6, 18, 1436, 9, 1), new GregoUmmAlQuraMap(2015, 7, 17, 1436, 10, 1), new GregoUmmAlQuraMap(2015, 8, 16, 1436, 11, 1), new GregoUmmAlQuraMap(2015, 9, 14, 1436, 12, 1), new GregoUmmAlQuraMap(2015, 10, 14, 1437, 1, 1), new GregoUmmAlQuraMap(2015, 11, 13, 1437, 2, 1), new GregoUmmAlQuraMap(2015, 12, 12, 1437, 3, 1), new GregoUmmAlQuraMap(2016, 1, 11, 1437, 4, 1), new GregoUmmAlQuraMap(2016, 2, 10, 1437, 5, 1), new GregoUmmAlQuraMap(2016, 3, 10, 1437, 6, 1), new GregoUmmAlQuraMap(2016, 4, 8, 1437, 7, 1), new GregoUmmAlQuraMap(2016, 5, 8, 1437, 8, 1), new GregoUmmAlQuraMap(2016, 6, 6, 1437, 9, 1), new GregoUmmAlQuraMap(2016, 7, 6, 1437, 10, 1), new GregoUmmAlQuraMap(2016, 8, 4, 1437, 11, 1), new GregoUmmAlQuraMap(2016, 9, 2, 1437, 12, 1), new GregoUmmAlQuraMap(2016, 10, 2, 1438, 1, 1), new GregoUmmAlQuraMap(2016, 11, 1, 1438, 2, 1), new GregoUmmAlQuraMap(2016, 11, 30, 1438, 3, 1), new GregoUmmAlQuraMap(2016, 12, 30, 1438, 4, 1), new GregoUmmAlQuraMap(2017, 1, 29, 1438, 5, 1), new GregoUmmAlQuraMap(2017, 2, 28, 1438, 6, 1), new GregoUmmAlQuraMap(2017, 3, 29, 1438, 7, 1), new GregoUmmAlQuraMap(2017, 4, 27, 1438, 8, 1), new GregoUmmAlQuraMap(2017, 5, 27, 1438, 9, 1), new GregoUmmAlQuraMap(2017, 6, 25, 1438, 10, 1), new GregoUmmAlQuraMap(2017, 7, 24, 1438, 11, 1), new GregoUmmAlQuraMap(2017, 8, 23, 1438, 12, 1), new GregoUmmAlQuraMap(2017, 9, 21, 1439, 1, 1), new GregoUmmAlQuraMap(2017, 10, 21, 1439, 2, 1), new GregoUmmAlQuraMap(2017, 11, 19, 1439, 3, 1), new GregoUmmAlQuraMap(2017, 12, 19, 1439, 4, 1), new GregoUmmAlQuraMap(2018, 1, 18, 1439, 5, 1), new GregoUmmAlQuraMap(2018, 2, 17, 1439, 6, 1), new GregoUmmAlQuraMap(2018, 3, 18, 1439, 7, 1), new GregoUmmAlQuraMap(2018, 4, 17, 1439, 8, 1), new GregoUmmAlQuraMap(2018, 5, 16, 1439, 9, 1), new GregoUmmAlQuraMap(2018, 6, 15, 1439, 10, 1), new GregoUmmAlQuraMap(2018, 7, 14, 1439, 11, 1), new GregoUmmAlQuraMap(2018, 8, 12, 1439, 12, 1), new GregoUmmAlQuraMap(2018, 9, 11, 1440, 1, 1), new GregoUmmAlQuraMap(2019, 8, 31, 1441, 1, 1), new GregoUmmAlQuraMap(2020, 8, 20, 1442, 1, 1), new GregoUmmAlQuraMap(2021, 8, 9, 1443, 1, 1), new GregoUmmAlQuraMap(2022, 7, 30, 1444, 1, 1), new GregoUmmAlQuraMap(2023, 7, 19, 1445, 1, 1), new GregoUmmAlQuraMap(2024, 7, 7, 1446, 1, 1), new GregoUmmAlQuraMap(2025, 6, 26, 1447, 1, 1), new GregoUmmAlQuraMap(2026, 6, 16, 1448, 1, 1), new GregoUmmAlQuraMap(2027, 6, 6, 1449, 1, 1), new GregoUmmAlQuraMap(2028, 5, 25, 1450, 1, 1), new GregoUmmAlQuraMap(2029, 5, 14, 1451, 1, 1), new GregoUmmAlQuraMap(2030, 5, 4, 1452, 1, 1), new GregoUmmAlQuraMap(2031, 4, 23, 1453, 1, 1), new GregoUmmAlQuraMap(2032, 4, 11, 1454, 1, 1), new GregoUmmAlQuraMap(2033, 4, 1, 1455, 1, 1), new GregoUmmAlQuraMap(2034, 3, 22, 1456, 1, 1), new GregoUmmAlQuraMap(2035, 3, 11, 1457, 1, 1), new GregoUmmAlQuraMap(2036, 2, 29, 1458, 1, 1), new GregoUmmAlQuraMap(2037, 2, 17, 1459, 1, 1), new GregoUmmAlQuraMap(2038, 2, 6, 1460, 1, 1), new GregoUmmAlQuraMap(2039, 1, 26, 1461, 1, 1), new GregoUmmAlQuraMap(2040, 1, 15, 1462, 1, 1), new GregoUmmAlQuraMap(2041, 1, 4, 1463, 1, 1), new GregoUmmAlQuraMap(2041, 12, 25, 1464, 1, 1), new GregoUmmAlQuraMap(2042, 12, 14, 1465, 1, 1), new GregoUmmAlQuraMap(2043, 12, 3, 1466, 1, 1), new GregoUmmAlQuraMap(2044, 11, 21, 1467, 1, 1), new GregoUmmAlQuraMap(2045, 11, 11, 1468, 1, 1), new GregoUmmAlQuraMap(2046, 10, 31, 1469, 1, 1), new GregoUmmAlQuraMap(2047, 10, 21, 1470, 1, 1), new GregoUmmAlQuraMap(2048, 10, 9, 1471, 1, 1), new GregoUmmAlQuraMap(2049, 9, 29, 1472, 1, 1), new GregoUmmAlQuraMap(2050, 9, 18, 1473, 1, 1), new GregoUmmAlQuraMap(2051, 9, 7, 1474, 1, 1), new GregoUmmAlQuraMap(2052, 8, 26, 1475, 1, 1), new GregoUmmAlQuraMap(2053, 8, 15, 1476, 1, 1), new GregoUmmAlQuraMap(2054, 8, 5, 1477, 1, 1), new GregoUmmAlQuraMap(2055, 7, 26, 1478, 1, 1), new GregoUmmAlQuraMap(2056, 7, 14, 1479, 1, 1), new GregoUmmAlQuraMap(2057, 7, 3, 1480, 1, 1), new GregoUmmAlQuraMap(2058, 6, 22, 1481, 1, 1), new GregoUmmAlQuraMap(2059, 6, 11, 1482, 1, 1), new GregoUmmAlQuraMap(2061, 5, 21, 1484, 1, 1), new GregoUmmAlQuraMap(2063, 4, 30, 1486, 1, 1), new GregoUmmAlQuraMap(2065, 4, 7, 1488, 1, 1), new GregoUmmAlQuraMap(2067, 3, 17, 1490, 1, 1), new GregoUmmAlQuraMap(2069, 2, 23, 1492, 1, 1), new GregoUmmAlQuraMap(2071, 2, 2, 1494, 1, 1), new GregoUmmAlQuraMap(2073, 1, 10, 1496, 1, 1), new GregoUmmAlQuraMap(2074, 12, 20, 1498, 1, 1), new GregoUmmAlQuraMap(2076, 11, 28, 1500, 1, 1) };
int firstYear = 1318;
// * use either 1 or 2 leading slashes to toggle
// just enough to be pretty sure
int lastYear = 1368;
/*/
int lastYear = 1480; // the whole shootin' match
//*/
ULocale umalquraLoc = new ULocale("ar_SA@calendar=islamic-umalqura");
ULocale gregoLoc = new ULocale("ar_SA@calendar=gregorian");
TimeZone tzSA = TimeZone.getTimeZone("Asia/Riyadh");
IslamicCalendar tstCal = new IslamicCalendar(tzSA, umalquraLoc);
GregorianCalendar gregCal = new GregorianCalendar(tzSA, gregoLoc);
tstCal.clear();
tstCal.setLenient(false);
int day = 0, month = 0, year = 0, initDay = 27, initMonth = IslamicCalendar.RAJAB, initYear = 1434;
try {
for (int startYear = firstYear; startYear <= lastYear; startYear++) {
setAndTestWholeYear(tstCal, startYear);
}
} catch (Throwable t) {
errln("unexpected exception thrown - message=" + t.getLocalizedMessage());
}
try {
initMonth = IslamicCalendar.RABI_2;
initDay = 5;
int loopCnt = 25;
tstCal.clear();
setAndTestCalendar(tstCal, initMonth, initDay, initYear);
for (int x = 1; x <= loopCnt; x++) {
day = tstCal.get(Calendar.DAY_OF_MONTH);
month = tstCal.get(Calendar.MONTH);
year = tstCal.get(Calendar.YEAR);
tstCal.roll(Calendar.DAY_OF_MONTH, true);
}
if (day != (initDay + loopCnt - 1) || month != IslamicCalendar.RABI_2 || year != 1434)
errln("invalid values for RABI_2 date after roll of " + loopCnt);
} catch (IllegalArgumentException iae) {
errln("unexpected exception received!!!");
}
try {
tstCal.clear();
initMonth = 2;
initDay = 30;
setAndTestCalendar(tstCal, initMonth, initDay, initYear);
errln("expected exception NOT thrown");
} catch (IllegalArgumentException iae) {
// expected this
}
try {
tstCal.clear();
initMonth = 3;
initDay = 30;
setAndTestCalendar(tstCal, initMonth, initDay, initYear);
} catch (IllegalArgumentException iae) {
errln("unexpected exception received!!!");
}
try {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date date = formatter.parse("1975-05-06");
IslamicCalendar is_cal = new IslamicCalendar();
is_cal.setCalculationType(CalculationType.ISLAMIC_UMALQURA);
is_cal.setTime(date);
SimpleDateFormat formatterIslamic = (SimpleDateFormat) is_cal.getDateTimeFormat(0, 0, umalquraLoc);
formatterIslamic.applyPattern("yyyy-MMMM-dd");
String str = formatterIslamic.format(is_cal.getTime());
// 1395 - Rabi - 24
int is_day = is_cal.get(Calendar.DAY_OF_MONTH);
int is_month = is_cal.get(Calendar.MONTH);
int is_year = is_cal.get(Calendar.YEAR);
if (is_day != 24 || is_month != IslamicCalendar.RABI_2 || is_year != 1395)
errln("unexpected conversion date: " + is_day + " " + is_month + " " + is_year);
String expectedFormatResult = "\u0661\u0663\u0669\u0665-\u0631\u0628\u064A\u0639 \u0627\u0644\u0622\u062E\u0631-\u0662\u0664";
if (!str.equals(expectedFormatResult))
errln("unexpected formatted result: " + str);
} catch (Exception e) {
errln(e.getLocalizedMessage());
}
// check against data
gregCal.clear();
tstCal.clear();
for (GregoUmmAlQuraMap guMap : guMappings) {
gregCal.set(guMap.gYear, guMap.gMon - 1, guMap.gDay, 12, 0);
long mapDate = gregCal.getTimeInMillis();
tstCal.setTimeInMillis(mapDate);
int uYear = tstCal.get(Calendar.YEAR);
int uMon = tstCal.get(Calendar.MONTH) + 1;
int uDay = tstCal.get(Calendar.DATE);
if (uYear != guMap.uYear || uMon != guMap.uMon || uDay != guMap.uDay) {
errln("For gregorian " + guMap.gYear + "-" + guMap.gMon + "-" + guMap.gDay + ", expect umalqura " + guMap.uYear + "-" + guMap.uMon + "-" + guMap.uDay + ", get " + uYear + "-" + uMon + "-" + uDay);
}
}
}
use of android.icu.util.TimeZone in project j2objc by google.
the class DateFormat method parse.
/**
* Parses a date/time string according to the given parse position. For
* example, a time text "07/10/96 4:5 PM, PDT" will be parsed into a Date
* that is equivalent to Date(837039928046).
*
* <p> By default, parsing is lenient: If the input is not in the form used
* by this object's format method but can still be parsed as a date, then
* the parse succeeds. Clients may insist on strict adherence to the
* format by calling setLenient(false).
*
* <p> Note that the normal date formats associated with some calendars - such
* as the Chinese lunar calendar - do not specify enough fields to enable
* dates to be parsed unambiguously. In the case of the Chinese lunar
* calendar, while the year within the current 60-year cycle is specified,
* the number of such cycles since the start date of the calendar (in the
* ERA field of the Calendar object) is not normally part of the format,
* and parsing may assume the wrong era. For cases such as this it is
* recommended that clients parse using the parse method that takes a Calendar
* with the Calendar passed in set to the current date, or to a date
* within the era/cycle that should be assumed if absent in the format.
*
* @see #setLenient(boolean)
*
* @param text The date/time string to be parsed
*
* @param pos On input, the position at which to start parsing; on
* output, the position at which parsing terminated, or the
* start position if the parse failed.
*
* @return A Date, or null if the input could not be parsed
*/
public Date parse(String text, ParsePosition pos) {
Date result = null;
int start = pos.getIndex();
TimeZone tzsav = calendar.getTimeZone();
calendar.clear();
parse(text, calendar, pos);
if (pos.getIndex() != start) {
try {
result = calendar.getTime();
} catch (IllegalArgumentException e) {
// This occurs if the calendar is non-lenient and there is
// an out-of-range field. We don't know which field was
// illegal so we set the error index to the start.
pos.setIndex(start);
pos.setErrorIndex(start);
}
}
// Restore TimeZone
calendar.setTimeZone(tzsav);
return result;
}
Aggregations