【问题标题】:(Android) How to convert a time raw string (with timezone) to another string format with the same timezone(Android) 如何将时间原始字符串(带时区)转换为具有相同时区的另一种字符串格式
【发布时间】:2016-05-09 06:01:49
【问题描述】:

我有一个时间原始字符串“2016-05-15T12:42:00.000-04:00”,我想将该字符串转换为“2016 年 5 月 15 日星期三 12:42”,它保持相同的时区(- 04:00) 作为其原始来源。

我尝试过 SimpleDateFormat 但使用它会返回与原始字符串中的时区不同的不同时区。请帮助我在 Android Studio 中实现这一目标!

其他例子:

2016-05-15T15:42:00.000-08:00 -> 2016 年 5 月 15 日星期三 15:42

2016-05-15T14:44:00.000-01:00 -> 2016 年 5 月 15 日星期三 14:44

public static String formatDateString(String originDateString) {
    //Original format 2016-05-15T12:42:00.000-04:00
    SimpleDateFormat originalFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
    SimpleDateFormat resultFormat = new SimpleDateFormat("EEE dd MMM yyyy HH:mm");
    String dateString = "";
    try {
        Date date = originalFormat.parse(originDateString);
        dateString = resultFormat.format(date);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    //returned format: Tue 14 May 2016 12:42
    return dateString;
}

【问题讨论】:

  • 向我们展示您的尝试。
  • 没有显示任何努力 - StackOverflow 不是“代码编写”服务,Vu 先生
  • 参考这个stackoverflow.com/help/how-to-ask问一个好问题
  • 对不起,我刚刚发布了我的第一个问题。我将添加我尝试过的内容
  • 感谢您回来改进您的原始帖子,继续努力!

标签: java android date time timezone


【解决方案1】:

先试试不带TZ信息的保存

new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    • 2011-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多