Obtener la fecha y hora actual usando el calendario.getInstance () vs new GregorianCalendar()


¿Cuál podría ser la diferencia entre obtener datetime usando

Calendar.getInstance()

Vs

new GregorianCalendar()

?

Author: Suragch, 2011-08-02

2 answers

Buscando en la fuente de Calendario.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);    
}

Así que getInstance() devolverá un Calendar basado en su defecto Locale y TimeZone.

 47
Author: user802421,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-08-01 22:38:57

Calendar.getInstance() le dará un Calendarusando la zona horaria y la configuración regional por defecto , que puede resultar en un GregorianCalendar, un BuddhistCalendar, o un JapaneseImperialCalendar.

GregorianCalendar siempre te dará, bueno, un calendario gregoriano.

 32
Author: João Silva,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-08-01 22:39:46