Java日期时间为ISO_DATE_TIME - java

我想在Java中DateTimeFormatter ISO_DATE_TIME的末尾添加一个Z,而不是硬编码

String sample = "2018-05-11T13:35:11Z";

DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX][X]");

DateTimeFormatter df1 = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'");

LocalDateTime newLocalDateTime = LocalDateTime.parse(sample, df1);

System.out.println(newLocalDateTime.toString());

输出为:

2018-05-11T13:35:11

我希望输出为2018-05-11T13:35:11Z

参考方案

您正在呼叫toString()中的LocalDateTime,应该呼叫format。更改

System.out.println(newLocalDateTime.toString());

System.out.println(newLocalDateTime.format(df1));

产出

2018-05-11T13:35:11Z

Spring Boot:java.time.Duration的默认序列化从字符串更改为数字 - java

我们最近从Spring Boot 2.1.9升级到2.2.1,这导致我们的测试失败。调查导致结果,默认情况下java.time.Duration类型现在序列化为不同的序列。现在,我们将得到"PT15M",而不是在JSON消息中包含字符串"900.0"。 POJO定义如下所示@JsonProperty(required …

DateTimeParseException-无法在索引0处解析 - java

我正在尝试解析以下日期"Wed, 26 Feb 2020 03:42:25 -0800"String datePattern = "EEE, dd MMM yyyy HH:mm:ss Z"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern(datePa…

Java compareTo方法失败 - java

我有一个名为task的类,想要在PriorityQueue中获取。我的班级可以通过日期和一个名为isUrgent的布尔字段进行比较 @Override public int compareTo(Task task) { int x = 0; if (!isUrgent && task.isUrgent) x=1; else if (isUrg…

Java解析部分日期 - java

使用SimpleDateFormat.parse(String)要求格式中指定的所有字段都出现在输入字符串中。我想要的是一种针对相同格式验证部分输入字符串的方法。例如,Format="yyyy/MM/dd HH:mm:ss"和Input="2012/01/01"应该匹配,并且一天中的时间应设置为零。有什么办法吗?当前,…

从无限时间序列中获取一系列数据 - java

我有一张以以下格式存储时间序列数据的地图HashMap<Date,Double> infiniteTimeSeries; 变量infiniteTimeSeries可以具有从1AD到2100AD的数据。当用户询问1970年1月1日至1972年1月1日之间的值时,我需要选择仅与请求的时间范围相对应的数据。是否有捷径可寻?就像图书馆一样。我试图避免在地…