您不能将日期值“转换为”其他时区或UTC。
该类型
java.util.Date没有任何内部时区状态,仅通过规范以用户无法更改的方式引用UTC(仅计算自UTC时区中的UNIX纪元以来的毫秒数,不包括leaving秒)。
但是您可以将格式为a的字符串表示形式转换java.util.Date
为另一个时区。我更喜欢使用两种不同的格式化程序,每个时区(和模式)使用一种。我还更喜欢在您的情况下使用“亚洲/加尔各答”,因为这样一来,它就可以普遍使用(IST也可以是“以色列标准时间”,在以色列也会有不同的解释):
DateFormat formatterIST = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");formatterIST.setTimeZone(TimeZone.getTimeZone("Asia/Kolkata")); // better than using ISTDate date = formatterIST.parse("15-05-2014 00:00:00");System.out.println(formatterIST.format(date)); // output: 15-05-2014 00:00:00DateFormat formatterUTC = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");formatterUTC.setTimeZone(TimeZone.getTimeZone("UTC")); // UTC timezoneSystem.out.println(formatterUTC.format(date)); // output: 14-05-2014 18:30:00// output in system timezone using pattern "EEE MMM dd HH:mm:ss zzz yyyy"System.out.println(date.toString()); // output in my timezone: Wed May 14 20:30:00 CEST 2014
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)