我想将字符串2014-03-20T10:05:48 + 00:00转换为YYYY-MM-DD日期格式

时间:2019-06-25 04:33:52

标签: java date

我正在获取日期字段作为字符串,格式为

  

2014-03-20T10:05:48 + 00:00

如何在Java中以YYYY-MM-DD格式转换为该日期

2 个答案:

答案 0 :(得分:1)

对于大多数用途,您不希望将日期和时间从一种字符串格式转换为另一种字符串格式。在程序内部,应将日期和时间保留为适当的日期时间对象,在这种情况下,应为OffsetDateTime(而不是字符串)。当您从某个地方收到一个字符串时,首先将其解析为这样的对象。仅在需要提供字符串时,将日期格式化为一个。所有这些还意味着您应该忘记一些注释中建议的字符串操作。

解析输入:

    String dateTimeString = "2014-03-20T10:05:48+00:00";
    OffsetDateTime dateTime = OffsetDateTime.parse(dateTimeString);

格式化输出:

    String dateString = dateTime.format(DateTimeFormatter.ISO_LOCAL_DATE);
    System.out.println("Formatted date: " + dateString);

输出为:

  

格式化日期:2014-03-20

我正在利用这样一个事实,即输入和输出均为ISO 8601格式,这是java.time类解析为默认格式以及内置格式器的标准格式。

链接: Oracle tutorial: Date Time解释了如何使用java.time。

答案 1 :(得分:0)

您应该将输入字符串2014-07-13 3884.1758 2014-10-12 3398.9011 2015-02-14 2728.3516 2014-08-29 2669.011 2015-07-04 2666.3736 2014-06-23 2653.1868 2013-10-01 2634.7253 2014-05-18 2618.2418 2015-02-15 2582.6374 2014-10-11 2555.6044 更改为2014-03-20T10:05:48+00:00,然后您可以尝试在下面我自己发布代码的方式正常工作。这仅是我的建议。

2014-03-20T10:05:48

谢谢。