【问题标题】:How to get the date from "2019-06-27T12:30:00.000+0000"?如何从“2019-06-27T12:30:00.000+0000”获取日期?
【发布时间】:2019-06-27 13:27:32
【问题描述】:

我想从 2019-06-27T12:30:00.000+0000 在 android 中获取日期和时间。我尝试了一个代码,但它不起作用。

DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
    Date date = null;//You will get date object relative to server/client 
timezone wherever it is parsed
    try {
        date = dateFormat.parse("2019-06-27T12:30:00.000+0000");
    } catch (ParseException e) {
        e.printStackTrace();
    }
    DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); //If you need time just put specific format for time like 'HH:mm:ss'
    String dateStr = formatter.format(date);

【问题讨论】:

标签: android datetime-format


【解决方案1】:

您错过了部分日期 你需要的模式是,

DateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'+'ssss");

【讨论】:

  • 是吗?怎么来的?我用一个简单的测试文件试了一下,它似乎对我有用。模式匹配有问题吗?
  • 我得到Thu Jun 27 12:30:00 CEST 2019,这是不正确的,因为 CEST 位于偏移量 +02:00,字符串的位置为 +00:00。其他字符串会给出其他错误结果。
【解决方案2】:

您缺少 SimpleDateFormat 的毫秒部分,以下是该特定模式所需的内容:

DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-31
    相关资源
    最近更新 更多