mDate = new Date(System.currentTimeMillis());

mWeek = String.format("%ta", mDate);
mMonth = String.format("%tb", mDate);
mDay = String.format("%te", mDate);
mYear = String.format("%tY", mDate);
mTime = String.format("%tR", mDate);
为什么打印出来的日期和时间都是GMT的日期和时间,而不是当前时间(或者说北京时间)?

解决方案 »

  1.   

    用 Calendar 试试Calendar(TimeZone zone, Locale aLocale) void setTimeZone(TimeZone value) 
              使用给定的时区值来设置时区。 
      

  2.   

    因为我的设备是连接网络的,但是为什么它不获取当前所在的时区,而把GTM的时间返回给我?
      

  3.   

    Date 这个API是底层API,它不会去查你的位置然后确定当前所在的时区。
     1。如果这么做,会画蛇添足。 因为它有setLocale, 如果需要可以调它。
         如果这么做,调一次API可能会要好几秒甚至几分钟,想想后果如何。 2。 底层API的设计原则是不依赖于上层。 如果一个机器没有网络,没有GPS, 你要API查询当前所在的时区,
    它怎么办?
      

  4.   

    如何通过网络在获取当前时区的时间的同时,还可以把GTM也得到?