无法解析“DateTimeFormatter”中的方法“parseDateTime”[重复]

问题描述 投票:0回答:2

我有这个joda时间代码:

public DateTime convertString(String date)
  {
    DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").withZoneUTC();
    DateTime dt = formatter.parseDateTime(date);
    return dt;
  }

Java 时间 API:

public OffsetDateTime convertString(String date)
  {
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").withZone(ZoneId.of("UTC"));
    OffsetDateTime dt = formatter.parseDateTime(date);
    return dt;
  }

但是缺少 Java 方法

parseDateTime
。我明白了
Cannot resolve method 'parseDateTime' in 'DateTimeFormatter'

java java-time
2个回答
1
投票

Java 时间 API 的

parseDateTime
类中DateTimeFormatter方法
不存在

相反,您应该使用

parse
方法将字符串转换为
OffsetDateTime
对象,如下所示:

public OffsetDateTime convertString(String date) {
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").withZone(ZoneId.of("UTC"));
    OffsetDateTime dt = OffsetDateTime.parse(date, formatter);
    return dt;
}

1
投票

你做错了。检查 JavaDoc 中的 DateTimeFormatterOffsetDateTime

public OffsetDateTime convertString(String date) {
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").withZone(ZoneId.of("UTC"));
    OffsetDateTime dt = OffsetDateTime.parse(date, formatter);
    return dt;
 }
© www.soinside.com 2019 - 2024. All rights reserved.