web-dev-qa-db-ja.com

Calendar.getInstance()と新しいGregorianCalendar()を使用して現在の日時を取得する

使用して日時を取得することの違いは何ですか

Calendar.getInstance()

new GregorianCalendar()

43
Oh Chin Boon

Calendar.getInstance() のソースを見る:

_private static Calendar createCalendar(TimeZone zone, Locale aLocale) {
    // If the specified locale is a Thai locale, returns a BuddhistCalendar
    // instance.
    if ("th".equals(aLocale.getLanguage())
        && ("TH".equals(aLocale.getCountry()))) {
        return new Sun.util.BuddhistCalendar(zone, aLocale);
    } else if ("JP".equals(aLocale.getVariant())
        && "JP".equals(aLocale.getCountry())
        && "ja".equals(aLocale.getLanguage())) {
        return new JapaneseImperialCalendar(zone, aLocale);
    }       

    // else create the default calendar
    return new GregorianCalendar(zone, aLocale);    
}
_

したがって、getInstance()は、デフォルトのCalendarおよびLocaleに基づいてTimeZoneを返します。

49
user802421

Calendar.getInstance() は、デフォルトのタイムゾーンとロケールを使用してCalendarを提供します、その結果、GregorianCalendarBuddhistCalendar、またはJapaneseImperialCalendarが発生する可能性があります。

GregorianCalendarは常に、グレゴリオ暦のカレンダーを提供します。

33
João Silva