gpt4 book ai didi

java - 将 GMT 转换为设备时区的代码不起作用

转载 作者:行者123 更新时间:2023-11-30 04:08:41 25 4
gpt4 key购买 nike

我从 RSS 提要中输入了以下格式的时间:

2012 年 6 月 13 日星期三 17:05:44 +0000

我需要输出为 Wed Jun 13, 2012 22:35:44

源时间将始终使用 GMT,所需的输出时间将使用设备时区(可能是 GMT+5:30 或 GMT-2:00 或任何时间)。

所以首先我有一个带有 GMT 的日历实例,如下所示。

Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"));

然后在输入时间使用 StringTokenizer 修改日历,如下所示。

calendar.set(Calendar.DAY_OF_MONTH, date);
calendar.set(Calendar.MONTH, month);
.
.
etc.

接下来我有以下代码:

calendar.setTimeZone(TimeZone.getDefault());

基本上,上面的代码将日历更改为设备时区。现在的问题是上面的代码在正常环境中工作正常,但在 Android 中不工作。任何解决方案?请帮忙。

最佳答案

首先你需要DateFormat解析 Date 中的字符串值对象,然后您可以在 Date 中设置时区,也可以设置 Calendar在日期的帮助下对象日历对象将是您的设备时区实例。

下面的代码在我这边工作

    String input_format = "EEE MMMMM dd HH:mm:ss Z yyyy";
String input_value="Wed Jun 13 17:05:44 +0000 2012";
Date date=null;

SimpleDateFormat sdf = new SimpleDateFormat(input_format);
try {
date = sdf.parse(input_value);
} catch (ParseException e) {
e.printStackTrace();
}

Calendar calendar = sdf.getCalendar();
calendar.setTime(date);

关于java - 将 GMT 转换为设备时区的代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11201793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com