Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.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
Android 如何根据设备转换GMT时区';什么地方?_Android_Date_Timezone_Simpledateformat_Gmt - Fatal编程技术网

Android 如何根据设备转换GMT时区';什么地方?

Android 如何根据设备转换GMT时区';什么地方?,android,date,timezone,simpledateformat,gmt,Android,Date,Timezone,Simpledateformat,Gmt,我想根据设备的位置将时区从GMT转换为本地时区。我尝试了各种方法,但没有得到想要的结果。我知道网络上有很多解决方案,但我被困在这里。那么我怎么能在上面打圆点呢?我有一个GMT时区格式,如: 2019-04-10T08:20:25Z 这是我迄今为止尝试过的代码: SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy:MM:dd'T'HH:mm:ss'Z'"); simpleDateFormat.setTimeZone

我想根据设备的位置将时区从GMT转换为本地时区。我尝试了各种方法,但没有得到想要的结果。我知道网络上有很多解决方案,但我被困在这里。那么我怎么能在上面打圆点呢?我有一个GMT时区格式,如: 2019-04-10T08:20:25Z

这是我迄今为止尝试过的代码:

 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy:MM:dd'T'HH:mm:ss'Z'");
    simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
    try {
        Date myDate = simpleDateFormat.parse(onlyDate);
        android.util.Log.v("Df", String.valueOf(myDate));
    } catch (ParseException e) {
        e.printStackTrace();
    }
此处onlyDate是GMT时区

使用区域设置:

  override fun formatDate(date: Date?, dateFormat: String, locale: Locale?): String {
    if (date != null) {
        val localeToUse: Locale
        if (locale != null) {
            localeToUse = Locale.getDefault()
        } else {
            localeToUse = Locale.UK
        }
        try {
            val targetFormat = SimpleDateFormat(dateFormat, localeToUse)
            return targetFormat.format(date).toString()
        } catch (ignore: Exception) {
            // Empty
        }
    }

    return ""
}
爪哇

这对我很有用:

 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
            formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
            Date value = null;
            try {
                value = formatter.parse(onlyDate);
                SimpleDateFormat dateFormatter = new SimpleDateFormat("dd-MMM-yyyy h:mm:ss a");
                dateFormatter.setTimeZone(TimeZone.getDefault());
               ourDate = dateFormatter.format(value);
                android.util.Log.v("lh", ourDate);

            } catch (ParseException e) {
                e.printStackTrace();
            }

如何在java中做这件事?顺便考虑一下,把长期过时的、臭名昭著的麻烦代码< SimpleDateFormat >代码>和朋友们添加到Android项目中,以便使用< java > java >时间>代码>,即现代Java日期和时间API。和你一起工作真是太好了。
 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
            formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
            Date value = null;
            try {
                value = formatter.parse(onlyDate);
                SimpleDateFormat dateFormatter = new SimpleDateFormat("dd-MMM-yyyy h:mm:ss a");
                dateFormatter.setTimeZone(TimeZone.getDefault());
               ourDate = dateFormatter.format(value);
                android.util.Log.v("lh", ourDate);

            } catch (ParseException e) {
                e.printStackTrace();
            }