不知大家都用过时区没有,首先java中的TimeZone.getDefault();方法是获取的主机的时区,不过我现在想根据Locale获取时区,不知有何办法?或者通过指定国家和地区获取时区ID,继而获取时区? 

解决方案 »

  1.   

    这个问题,我想了想,为什么JDK只提供了根据Locale获取时区Name,而没有提供根据Locale获取时区ID,因为一个Locale可能有多个不同的时区,而且有的地区要考虑夏令时的问题,也就是说如果根据Locale获取时区不唯一!!! 
      

  2.   

    getTimeZone(String ID)不就获得TimeZone了吗???
    ID就是国家的的代码!Locale也是根据ID获得的吗??为什么用Locale获得TimeZone呢??不是多次一举了吗??
      

  3.   

    不知lz的目的是什么,IMHO,用locale取得timezone的想法是错误的。这个其实和Windows上 语言/地区设置 和 时间/时区设置 分开的原因一样,前者是用于显示内容是选择语言,格式化输出时的格式,而后者,纯粹就是一个时间。他们之间应该是多对多的关系。
    比如Locale.ENGLISH,几乎可以对应全世界的时区。同时,CET时区可以对应十种以上的语言
      

  4.   

    Locale != Location
    其次,国家!=时区,时区!=国家