如何将设备GMT时间添加到特定时间?

时间:2014-05-05 10:33:35

标签: java android datetime gmt

我从这样的API获得时间" 00:00"我希望将设备GMT时间添加到API的接收时间。

我正在使用以下代码获取设备的GMT时间

Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"),
            Locale.US);
    Date currentLocalTime = calendar.getTime();
    DateFormat date = new SimpleDateFormat("dd:MM:yyyy HH:mm z");
    String localTime = date.format(currentLocalTime);
    Log.v("GMT time:", localTime + "");

是否有任何内置方法可以将GMT时间添加到特定时间?

2 个答案:

答案 0 :(得分:0)

也许你可以试试这样的事情

 public static void main(final String[] args) throws Exception {   
        Date date = new Date();   
        DateFormat localDf = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);   
        DateFormat gmtDf = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);   
        DateFormat nyDf = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);   

        gmtDf.setTimeZone(TimeZone.getTimeZone("GMT"));   
        nyDf.setTimeZone(TimeZone.getTimeZone("America/New_York"));   

        System.out.println("local : " + localDf.format(date));   
        System.out.println("GMT   : " + gmtDf.format(date));   
        System.out.println("NY    : " + nyDf.format(date));   
    }   

答案 1 :(得分:0)

您可以尝试这样:

TimeZone gmtTime = TimeZone.getTimeZone("GMT+00");
date.setTimeZone(gmtTime);
String localTime = date.format(currentLocalTime);

Date and time conversion to some other Timezone in java