我想把这个格林尼治标准时间转换成格林尼治标准时间 + 13:
2011-10-06 03:35:05
我已经尝试了大约100种不同的 DateFormat,TimeZone,Date,GregorianCalendar 等组合来完成这个非常基本的任务。
这段代码完成了我想要的当前时间:
Calendar calendar = new GregorianCalendar(TimeZone.getTimeZone("GMT"));
DateFormat formatter = new SimpleDateFormat("dd MMM yyyy HH:mm:ss z");
formatter.setTimeZone(TimeZone.getTimeZone("GMT+13"));
String newZealandTime = formatter.format(calendar.getTime());
但是我想要的是设置时间而不是使用当前时间。
我发现无论何时我试图这样设定时间:
calendar.setTime(new Date(1317816735000L));
使用本地机器的 TimeZone。为什么?我知道当“ new Date ()”返回 UTC + 0时间时,为什么当你设置时间为毫秒时,它不再假设时间为 UTC?
有没有可能: