1. public static Calendar getInstance()
    2. {
    3. return createCalendar(TimeZone.getDefault(), Locale.getDefault(Locale.Category.FORMAT));
    4. }
    5. private static Calendar createCalendar(TimeZone zone,
    6. Locale aLocale)
    7. {
    8. //。。。。。。
    9. Calendar cal = null;
    10. if (aLocale.hasExtensions()) {
    11. String caltype = aLocale.getUnicodeLocaleType("ca");
    12. if (caltype != null) {
    13. switch (caltype) {
    14. case "buddhist":
    15. cal = new BuddhistCalendar(zone, aLocale);
    16. break;
    17. case "japanese":
    18. cal = new JapaneseImperialCalendar(zone, aLocale);
    19. break;
    20. case "gregory":
    21. cal = new GregorianCalendar(zone, aLocale);
    22. break;
    23. }
    24. }
    25. }
    26. //。。。。。。
    27. return cal;
    28. }