我正在获取日期字段作为字符串,格式为
2014-03-20T10:05:48 + 00:00
如何在Java中以YYYY-MM-DD
格式转换为该日期
答案 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
谢谢。