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

如何在Android中将“ yyyy-MM-dd'T'HH:mm:ss.SSSXXX”日期格式解析为简单格式?

席嘉祯
2023-03-14
问题内容

如何解析此日期2018-01-09T11:11:02.0+03:00dd.MM.yyyy hh:mm在Android中格式化?

又是什么T之间0911是什么意思?谢谢。

我不知道后端开发人员如何获得这种格式。我正在使用Java。


问题答案:

如果使用的是Java,则可以SimpeDateFormat与模式一起使用:

        String date = "2018-01-09T11:11:02.0+03:00";
        SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
        SimpleDateFormat output = new SimpleDateFormat("dd.MM.yyyy hh:mm");
        Date d = null;
        try {
            d = dateformat.parse(date /*your date as String*/);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        String formattedDate = output.format(d);

        Log.d("Date format", "output date :" + formattedDate);

输出为:

日期日期格式:输出日期:09.01.2018 09:11

编辑: 感谢@ OleV.V。,对于API>
26或使用ThreeTenABP, 我们可以使用

DateTimeFormatter,我们可以做类似的事情

    String date = "2018-01-09T11:11:02.0+03:00";
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
    DateTimeFormatter formatterOut = DateTimeFormatter.ofPattern("dd.MM.yyyy hh:mm");
    LocalDate parsedDate = LocalDate.parse(date, formatter);

    String formattedDate = formatterOut.format(parsedDate);
    Log.d("Date format", "output date :" + formattedDate);


 类似资料:
  • 我有一个日期2019-09-30,我想在dart中将其转换为2019-09-30

  • 我想使用日期格式为yyyy-MM-dd hh:mm:ss的localdatetime.parse()方法解析一个日期,但实际得到的是格式为yyyy-mm-ddthh:mm:ss的日期。我不需要那个“T”。请参阅下面的代码 我得到的结果是2016-10-31T23:59:59。看那个“T”。“t”引起了一些问题,因此我无法将其保存到我的数据库中。我尝试在类型的列中持久化该值;我得到错误-。

  • 问题内容: 2012年12月1日星期六00:00:00 GMT 我必须将以上日期转换为以下格式 2012-12-01 我怎样才能? 我已经尝试使用以下方法,但无法正常工作 问题答案: 用这个。 您将获得输出为

  • 问题内容: 好吧,我正在使用a进行详细说明,因为我从数据库中获取了一个对象,并且从同一对象中获得了一个变量“ fecha”(日期),因此我得到了a ,因此formatt以毫秒为单位,但是我不想出现毫秒。因此,我需要将我从数据库中收到的日期格式化为没有毫秒的新日期。 这是对象Factura: 在映射到数据库的xml中,我具有该变量“ fecha”的代码: 在数据库中,该列为。 当我从数据库中获取一个

  • 问题内容: 我收到日期这样的字符串:。我写了这样的解析代码 我得到这样的输出: 为什么它读错了?我的代码有问题还是Java无法识别此日期格式? 问题答案: 您的/ 的输入方法错误,用于“小时分钟”和“年度月份” 是用于“毫秒”(或,表示无意义) 我也建议使用,而不是作为是“白天小时(0-23)” 因此,使用… 它为我输出