我有两个输入:
使用Java,如何将给定的日期值转换为本地时区的相应日期/时间?在Date类中似乎没有任何时区偏移函数。
谢谢!
答案 0 :(得分:1)
(如果您不想使用JodaTime)请使用TimeZone
与setRawOffset
一起使用此答案中的代码:https://stackoverflow.com/a/19378721/360211
答案 1 :(得分:0)
我认为您需要使用TimeZone.getAvailableIDs(rawOffsetinMiliSeconds)来获取时区值。 工作示例:
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));