使用Calendar.getInstance()获取当前date时间与新的GregorianCalendar()
获取datetime使用的区别可能是什么?
Calendar.getInstance()
VS
new GregorianCalendar()
?
查看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()
将返回一个基于默认的Locale
和TimeZone
的Calendar
。
Calendar.getInstance()
将为您提供一个使用默认时区和区域设置的Calendar
,这可能会导致GregorianCalendar
, BuddhistCalendar
或JapaneseImperialCalendar
。
GregorianCalendar
总是会给你一个公历。