使用
获取日期时间之间可能有什么区别 Calendar.getInstance()
vs
new GregorianCalendar()
答案 0 :(得分:48)
查看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
。
答案 1 :(得分:32)
Calendar.getInstance()
会使用默认时区和区域设置为您提供Calendar
,这可能会产生GregorianCalendar
,BuddhistCalendar
,或JapaneseImperialCalendar
。
GregorianCalendar
总会给你一个公历。