Java SimpleDataFormat.setTimeZone()和Calendar.setTimeZone()之间的差异

Java SimpleDataFormat.setTimeZone()和Calendar.setTimeZone()之间的差异,java,calendar,simpledateformat,Java,Calendar,Simpledateformat,两者的区别是什么 SimpleDataFormat.setTimeZone()和 TaleNo.StimeTimeOne()< P> SimpleDateFormat 将在格式化期间使用指定的时区,而日历> /代码>将只考虑指定的时区,其中指定了相应的日期/时间。格式化日历实例时,日历的时区将转换为SimpleDataFormat的时区。setTimeZone是在DateFormat类中定义的方法,该类内部保存日历对象。所以它修改了Calendar对象并设置了它的时区,其中as Calenda

两者的区别是什么 SimpleDataFormat.setTimeZone()和
TaleNo.StimeTimeOne()

< P> <代码> SimpleDateFormat <代码>将在格式化期间使用指定的时区,而<代码>日历> /代码>将只考虑指定的时区,其中指定了相应的日期/时间。格式化日历实例时,日历的时区将转换为SimpleDataFormat的时区。

setTimeZone是在DateFormat类中定义的方法,该类内部保存日历对象。所以它修改了Calendar对象并设置了它的时区,其中as Calendar.setTimeZone设置了现有日历的时区


这两种方法都是实例方法。

这两种方法做的事情完全相同

SimpleDateFormat.setTimeZone(TimeZone zone)
本质上是从java.text.DateFormat继承的方法。什么时候

DateFormat.setTimeZone(TimeZone zone) 
如果调用,它将运行

 getCalendar().setTimeZone(TimeZone zone)
这和

Calendar.setTimeZone(TimeZone zone)
他们都在调用相同的方法来设置时区