当前位置: 首页 > 面试题库 >

如何在Android中设置TimeZone进行字符串解析

马弘和
2023-03-14
问题内容

我尝试解析一个String并设置一个时区,但无法产生所需的结果。

String dtc = "2014-04-02T07:59:02.111Z";
SimpleDateFormat readDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
Date date = null;
try {
   date = readDate.parse(dtc);
   Log.d("myLog", "date "+date);
} catch (ParseException e) {
   Log.d("myLog", "dateExcep " + e);
}

SimpleDateFormat writeDate = new SimpleDateFormat("dd.MM.yyyy, HH.mm"); 
writeDate.setTimeZone(TimeZone.getTimeZone("GMT+04:00"));
String dateString = writeDate.format(date);

在变量“ dateString”的输出中,仍然给出时间07:59:02,我想提前4小时将其设为11:59:02


问题答案:

您需要指示读取格式器将输入解释为UTC(GMT-记住Z代表ISO-8601格式的UTC):

String dtc = "2014-04-02T07:59:02.111Z";
SimpleDateFormat readDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
readDate.setTimeZone(TimeZone.getTimeZone("GMT")); // missing line
Date date = readDate.parse(dtc);
SimpleDateFormat writeDate = new SimpleDateFormat("dd.MM.yyyy, HH.mm");
writeDate.setTimeZone(TimeZone.getTimeZone("GMT+04:00"));
String s = writeDate.format(date);

然后您将获得:

2014年4月2日,11.59



 类似资料:
  • 问题内容: 我正在从服务器获取JSON字符串,并且已经通过代码获取了JSON字符串。但是我不知道如何解析它。 以下是我的JSON字符串 请提供任何指导或代码段。 问题答案: 使用JSON类进行解析,例如

  • 问题内容: 我正在开发一个Android应用程序,并且在发送到数据库之前有一些我想加密的字符串。我想要一个安全,易于实现的东西,每次传递相同的数据时都会生成相同的东西,并且无论传递给它的字符串有多大,最好都会使字符串保持恒定的长度。也许我正在寻找一个哈希。 问题答案: 此代码段为任何给定的字符串计算md5 资料来源:http : //www.androidsnippets.com/snippets

  • 问题内容: 我正在尝试解析以下JSONString 这是我的代码: 有人可以帮忙,我的代码不起作用吗?我想解析标题,公司名称,类别等… 问题答案: 您需要从您的jsonstring 创建。 你有里面然后..

  • 问题内容: 考虑以下代码: 除了字符串连接之外,还有其他方法可以将变量的值插入到字符串中吗? 问题答案: 从ES6开始,您可以使用模板文字: PS 注意反引号的使用:````。

  • 问题内容: 解析JSON似乎是这里讨论的一个相当普遍的话题。我环顾四周,但仍然找不到我想要的东西。这是我的HttpClient的代码 我正在使用HttpClient将JSON请求发送到服务器。然后,服务器以JSON返回响应。这很好。现在这是我遇到麻烦的地方。我从服务器接收到HttpEntity。然后,我将其变成看起来像这样的字符串。 我希望能够将此字符串发送到我的方法,并且它返回键值映射。我觉得这

  • 代码只是简单地将我的变量名设置为字符串“null”,所以我不知道如何让程序等待输入。编译器不允许我在不初始化变量的情况下声明它。