如何将GMT的偏移量转换为本地时区



我有两个输入:

  • 日期值
  • 一个整数(+8或-3等),表示与GMT
  • 的偏移量。

使用Java,如何将给定的日期值转换为本地时区中相应的日期/时间?在Date类中似乎没有任何时区偏移函数。

谢谢!

(如果您不想使用JodaTime)使用TimeZonesetRawOffset的代码从这个答案:https://stackoverflow.com/a/19378721/360211

我认为你需要使用timezone . getavailableids (rawoffsetinmilliseconds)来获得一个时区值。工作的例子:

Date now = new Date();  
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
sdf1.setTimeZone(TimeZone.getTimeZone("UTC"));  
System.out.println(sdf1.format(now));  
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
sdf2.setTimeZone(TimeZone.getTimeZone((TimeZone.getAvailableIDs(5*1000*3600))[0]));  
System.out.println(sdf2.format(now));  

相关内容

  • 没有找到相关文章

最新更新