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

如何在Java中格式化ISO-8601

严斌
2023-03-14
问题内容

我正在尝试从标准ISO
8601
格式更改2014-09-11T21:28:29.429209Z为好的MMM
d yyyy hh:mm z格式,但是我当前的代码失败。

public void setCreatedAt( String dateTime ) {

    LocalDate newDateTime = LocalDate.parse(dateTime);

    try {
        DateTimeFormatter format = DateTimeFormatter.ofPattern("MMM d yyyy hh:mm a z");
        createdAt = newDateTime.format(format); 
    }
    catch (Exception e) {
    }

}

我正在从api接收时间和日期。


问题答案:

A java.time.LocalDate是“
ISO-8601日历系统中没有时区的日期,例如2007-12-03”,因此那里没有足够的信息。使用java.time.ZonedDateTime代替。

同样,吞噬这样的异常会使得排除故障变得更加困难。当您不打算处理异常时,要么根本不捕获它,要么捕获并重新包装在RuntimeException中,然后至少将其记录(e.printStackTrace()或类似记录)。



 类似资料:
  • 我如何从moment.js获得ISO 8601?

  • 如何将ISO-8601字符串格式化为自定义格式,如?我一直得到无法解析的日期异常。下面是我的代码段:

  • 问题内容: 我在中收到格式日期。我如何解析它得到和。 ISO格式的日期: 问题答案: 一些参考 http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html 希望能帮助到你

  • 问题内容: 我试图以标准时间戳记从数据库中获取日期并将其显示为ISO8601。我无法轻松地在PHP中执行此操作,因此尝试在SELECT语句中进行操作。这是我所拥有的,但是显示错误: 我究竟做错了什么? 问题答案: 本必须在列表:

  • 问题内容: 所以我有一个Date对象,我想创建一个方法,以便它以以下格式打印Date: 我怎么做?到目前为止,我只是对日期执行toString,它为我提供了我不需要的所有GMT信息和秒精度。我必须使用DateFormatter还是有更简单的方法来做到这一点? 编辑该标题后,将Java ME包含在标题中,并在发布了一些与原始问题正确的答案后添加标签。 问题答案: 您可以使用class设置日期格式。

  • 问题内容: 目标: 找到,然后以以下格式构建网址。 范例网址:/ Actions / Sleep?duration = 2002-10-10T12:00:00−05:00 该文件说: 例如,2002-10-10T12:00:00-05:00(2002年10月10日中午,美国中部夏令时以及美国东部标准时间)等于2002-10-10T17:00:00Z,比2002-10-10T12:00:00Z晚五个