Получение текущего времени и времени с помощью Calendar.getInstance () по сравнению с новым GregorianCalendar ()

В чем может быть разница между получением даты и времени с помощью

Calendar.getInstance ()

и

new GregorianCalendar ()

?

42
задан Suragch 29 August 2017 в 05:55
поделиться

2 ответа

Поиск в источнике 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
ответ дан 26 November 2019 в 23:42
поделиться

Calendar.getInstance() даст вам Calendar, используя часовой пояс по умолчанию и локаль , что может привести к GregorianCalendar, BuddhistCalendar или JapaneseImperialCalendar.

GregorianCalendar всегда даст вам, ну, григорианский календарь.

32
ответ дан 26 November 2019 в 23:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: