web-dev-qa-db-fra.com

Obtention de l'heure actuelle à l'aide de Calendar.getInstance () vs new GregorianCalendar ()

Quelle pourrait être la différence entre obtenir datetime en utilisant

Calendar.getInstance()

contre

new GregorianCalendar()

?

43
Oh Chin Boon

Recherche dans la source de 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);    
}

Ainsi, getInstance() renverra un Calendar basé sur vos valeurs par défaut Locale et TimeZone.

49
user802421

Calendar.getInstance() vous donnera un Calendar en utilisant le fuseau horaire et paramètres régionaux par défaut , ce qui peut donner un GregorianCalendar, un BuddhistCalendar ou un JapaneseImperialCalendar.

GregorianCalendar vous donnera toujours, eh bien, un calendrier grégorien.

33
João Silva