我有一个奇怪的情况与Java日历。我正在使用推土机映射器来映射对象。日历问题与时区
我想写一个方法,将该对象转换为以下格式。 yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
说元素2010-11-11T09:30:47.000Z
public Calender getValue(Date source,Calender c) {
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
calendar.setTime(source);
return calendar;
}
当我运行程序,它是印刷 2010-11-11T04:00:47.000Z - 因为我们设置时区格林威治标准时间,(9.30 - 5.30 = 4.00)
我想我的对象具有相同的格式和value.if我不设置TimeZone格林尼治标准时间,它会显示为2008-11-21T09:30:47.000 +05:30。
我想要它作为2010-11-11T09:30:47.000Z。
我试着将5.30添加到日历中。
calendar.add(Calendar.HOUR, 5);
calendar.add(Calendar.MINUTE, 30)
那么works.But,如果这是任何其他地方跑,相差不会5.30.So我不能添加5.30 calenderget
有什么办法来摆脱这个问题的? 我想返回日历对象。
任何建议或帮助,将不胜感激