Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将设备GMT时间添加到特定时间?_Java_Android_Datetime_Gmt - Fatal编程技术网

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

Java 如何将设备GMT时间添加到特定时间?,java,android,datetime,gmt,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

我从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时间添加到特定时间?

也许您可以尝试这样的方法

 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));   
    }   
您可以这样尝试:

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

它不起作用。我得到了设备的GMT时间,但无法添加具体时间。例如,我得到了GMT时间+05:30,现在我想把它添加到一个特定的时间,即“11:10”。我怎样才能做到这一点。另一方面,若设备的GMT时间是-04:00,那个么我如何将其添加到特定时间?这没关系,但问题是如何将GMT时间添加到任何特定时间。我不确定添加GMT时间是什么意思。你能提供一个用例吗?我从API收到一些时间,比如“12:40”。我需要获得设备的GMT时间,然后将其添加到从API接收的时间中。例如,我得到了GMT时间+05:30,我必须将它与接收到的时间(即12:40)相加。GMT时间可能因用户的设备和地区而异。请定义向时间添加时间。对我来说,语义上是不可能的。通常,您只能向时间添加持续时间。嗯,我只是猜测:你是说在本地时间应用时区偏移量(UTC时间+时区偏移量=本地时间)?