使用 Calendar.getInstance() vs new GregorianCalendar() 获取当前日期时间
2022-09-01 00:56:23
使用获取日期时间之间可能有什么区别
Calendar.getInstance()
与
new GregorianCalendar()
?
使用获取日期时间之间可能有什么区别
Calendar.getInstance()
与
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()
Calendar
Locale
TimeZone
Calendar.getInstance()
将为您提供使用默认时区和区域设置,这可能会导致 、 a 或 .Calendar
GregorianCalendar
BuddhistCalendar
JapaneseImperialCalendar
GregorianCalendar
总会给你一个公历。