4

SimpleDateFormat.setTimeZone() 和 Calendar.setTimeZone() 有什么区别?

4

3 回答 3

2

SimpleDateFormat将在格式化期间使用指定的时区,而Calendar只会将给定的时区视为指定相应日期/时间的时区。在格式化 Calendar 实例时,Calendar 的时区将转换为 SimpleDateFormat 的时区。

于 2012-12-05T05:54:29.393 回答
2

这两种方法的作用完全相同。

SimpleDateFormat.setTimeZone(TimeZone zone)

本质上是一个继承自 java.text.DateFormat 的方法。什么时候

DateFormat.setTimeZone(TimeZone zone) 

被调用,它将运行

 getCalendar().setTimeZone(TimeZone zone)

这与

Calendar.setTimeZone(TimeZone zone)

他们都在调用相同的方法来设置时区。

于 2012-12-05T06:52:06.617 回答
0

setTimeZone 是 DateFormat 类中定义的方法,该类内部包含一个 Calendar 对象。所以它修改了Calender对象并设置了TimeZone,其中Calendar.setTimeZone设置了现有日历的时区......

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

于 2012-12-05T05:56:17.947 回答