use of android.icu.util.GregorianCalendar 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.GregorianCalendar in project j2objc by google.
the class DateFormatTest method Test6880.
@Test
public void Test6880() {
Date d1, d2, dp1, dp2, dexp1, dexp2;
String s1, s2;
TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");
GregorianCalendar gcal = new GregorianCalendar(tz);
gcal.clear();
// offset 8:05:43
gcal.set(1900, Calendar.JANUARY, 1, 12, 00);
d1 = gcal.getTime();
gcal.clear();
// offset 8:00
gcal.set(1950, Calendar.JANUARY, 1, 12, 00);
d2 = gcal.getTime();
gcal.clear();
gcal.set(1970, Calendar.JANUARY, 1, 12, 00);
dexp2 = gcal.getTime();
// subtract 5m43s
dexp1 = new Date(dexp2.getTime() - (5 * 60 + 43) * 1000);
DateFormat fmt = DateFormat.getTimeInstance(DateFormat.FULL, new ULocale("zh"));
fmt.setTimeZone(tz);
s1 = fmt.format(d1);
s2 = fmt.format(d2);
try {
dp1 = fmt.parse(s1);
dp2 = fmt.parse(s2);
if (!dp1.equals(dexp1)) {
errln("FAIL: Failed to parse " + s1 + " parsed: " + dp1 + " expected: " + dexp1);
}
if (!dp2.equals(dexp2)) {
errln("FAIL: Failed to parse " + s2 + " parsed: " + dp2 + " expected: " + dexp2);
}
} catch (ParseException pe) {
errln("FAIL: Parse failure");
}
}
use of android.icu.util.GregorianCalendar in project j2objc by google.
the class DateFormatTest method TestTwoDigitWOY.
@Test
public void TestTwoDigitWOY() {
// See ICU Ticket #8514
String dateText = new String("98MON01");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYEEEww");
simpleDateFormat.set2DigitYearStart(new GregorianCalendar(1999, 0, 1).getTime());
Calendar cal = new GregorianCalendar();
cal.clear();
cal.setFirstDayOfWeek(Calendar.SUNDAY);
cal.setMinimalDaysInFirstWeek(4);
ParsePosition pp = new ParsePosition(0);
simpleDateFormat.parse(dateText, cal, pp);
if (pp.getErrorIndex() >= 0) {
errln("FAIL: Error in parsing two digit WOY");
}
simpleDateFormat.applyPattern("Y");
String result = simpleDateFormat.format(cal.getTime());
if (!result.equals("2098")) {
errln("FAIL: Unexpected result in two digit WOY parse. Expected 2098, got " + result);
}
}
use of android.icu.util.GregorianCalendar in project j2objc by google.
the class DateFormatTest method TestErrorChecking.
@Test
public void TestErrorChecking() {
try {
DateFormat.getDateTimeInstance(-1, -1, Locale.US);
errln("Expected exception for getDateTimeInstance(-1, -1, Locale)");
} catch (IllegalArgumentException e) {
logln("one ok");
} catch (Exception e) {
warnln("Expected IllegalArgumentException, got: " + e);
}
try {
DateFormat df = new SimpleDateFormat("aaNNccc");
df.format(new Date());
errln("Expected exception for format with bad pattern");
} catch (IllegalArgumentException ex) {
logln("two ok");
} catch (Exception e) {
warnln("Expected IllegalArgumentException, got: " + e);
}
{
// opposite of text
SimpleDateFormat fmt = new SimpleDateFormat("dd/MM/yy");
fmt.set2DigitYearStart(getDate(2003, Calendar.DECEMBER, 25));
String text = "12/25/03";
Calendar xcal = new GregorianCalendar();
xcal.setLenient(false);
ParsePosition pp = new ParsePosition(0);
// should get parse error on second field, not lenient
fmt.parse(text, xcal, pp);
if (pp.getErrorIndex() == -1) {
errln("Expected parse error");
} else {
logln("three ok");
}
}
}
use of android.icu.util.GregorianCalendar in project j2objc by google.
the class DateFormatTest method TestRelativeDateFormat.
// based on TestRelativeDateFormat() in icu/trunk/source/test/cintltst/cdattst.c
@Test
public void TestRelativeDateFormat() {
ULocale loc = ULocale.US;
TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");
Calendar cal = new GregorianCalendar(tz, loc);
Date now = new Date();
cal.setTime(now);
cal.set(Calendar.HOUR_OF_DAY, 18);
cal.set(Calendar.MINUTE, 49);
cal.set(Calendar.SECOND, 0);
Date today = cal.getTime();
// minutes string to search for in formatted result
String minutesStr = "49";
int[] dateStylesList = { DateFormat.RELATIVE_FULL, DateFormat.RELATIVE_LONG, DateFormat.RELATIVE_MEDIUM, DateFormat.RELATIVE_SHORT };
for (int i = 0; i < dateStylesList.length; i++) {
int dateStyle = dateStylesList[i];
DateFormat fmtRelDateTime = DateFormat.getDateTimeInstance(dateStyle, DateFormat.SHORT, loc);
DateFormat fmtRelDate = DateFormat.getDateInstance(dateStyle, loc);
DateFormat fmtTime = DateFormat.getTimeInstance(DateFormat.SHORT, loc);
for (int dayOffset = -2; dayOffset <= 2; dayOffset++) {
StringBuffer dateTimeStr = new StringBuffer(64);
StringBuffer dateStr = new StringBuffer(64);
StringBuffer timeStr = new StringBuffer(64);
FieldPosition fp = new FieldPosition(DateFormat.MINUTE_FIELD);
cal.setTime(today);
cal.add(Calendar.DATE, dayOffset);
fmtRelDateTime.format(cal, dateTimeStr, fp);
fmtRelDate.format(cal, dateStr, new FieldPosition(0));
fmtTime.format(cal, timeStr, new FieldPosition(0));
logln(dayOffset + ", " + dateStyle + ", " + dateTimeStr);
logln(dayOffset + ", " + dateStyle + ", " + dateStr);
logln(dayOffset + ", " + dateStyle + ", " + timeStr);
// check that dateStr is in dateTimeStr
if (dateTimeStr.toString().indexOf(dateStr.toString()) < 0) {
errln("relative date string not found in datetime format with timeStyle SHORT, dateStyle " + dateStyle + " for dayOffset " + dayOffset);
errln("datetime format is " + dateTimeStr.toString() + ", date string is " + dateStr.toString());
}
// check that timeStr is in dateTimeStr
if (dateTimeStr.toString().indexOf(timeStr.toString()) < 0) {
errln("short time string not found in datetime format with timeStyle SHORT, dateStyle " + dateStyle + " for dayOffset " + dayOffset);
errln("datetime format is " + dateTimeStr.toString() + ", time string is " + timeStr.toString());
}
// check index of minutesStr
int minutesStrIndex = dateTimeStr.toString().indexOf(minutesStr);
if (fp.getBeginIndex() != minutesStrIndex) {
errln("FieldPosition beginIndex " + fp.getBeginIndex() + " instead of " + minutesStrIndex + " for datetime format with timeStyle SHORT, dateStyle " + dateStyle + " for dayOffset " + dayOffset);
errln("datetime format is " + dateTimeStr.toString());
}
}
}
}
Aggregations