如何在Java中将Date转换为UTC?

时间:2013-07-26 05:04:36

标签: java date date-conversion

说道歉要问重复的问题,但我很困惑,把这个时间转换成UTC。

在我的应用程序中获取当前系统日期

Date date1 = new Date();//Fri Jul 26 10:34:06 IST 2013
SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss ");

然后我有一个下拉列表(我正在使用Selectbox timezone list

如果印度用户选择GMT+05:30

现在我想使用date1GMT+05:30

转换Fri Jul 26 05:00:06 IST 2013的UTC时间

所以每个用户只选择一个时区但在该时区使用服务器当前日期和时间它将转换为UTC时间

请帮帮我。

3 个答案:

答案 0 :(得分:1)

试试这个

SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.HOUR_OF_DAY, 5);
cal.add(Calendar.MINUTE, 30);
System.out.println(f.format(cal.getTime()));

答案 1 :(得分:0)

试试这个

    String tz = "GMT+05:30";
    SimpleDateFormat f = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
    f.setTimeZone(TimeZone.getTimeZone(tz));
    System.out.println(f.format(new Date()));

请注意,它永远不会打印IST,因为GMT + 05:30不等同于IST。

答案 2 :(得分:0)

试试这个:

SimpleDateFormat format = new SimpleDateFormat();
format.setTimeZone(TimeZone.getTimeZone("GMT+05:30"));
System.out.println(format.format(cal.getTime()));