日期时间解析异常;无法在索引 4 处解析文本“2018-10-18 00:00:00”
DateTimeParseException; Text '2018-10-18 00:00:00' could not be parsed at index 4
我在找到解析日期的正确方法时遇到了一些困难。
我收到以下格式的字符串形式的日期:'2018-10-18 00:00:00'
我需要将其转换为 18/10/2018 并存储在变量 startDate
然后我需要一个新变量来保存 endDate 变量,以便将日期向前滚动一周。
我的代码:
public String getStartDate(String startDate){
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
LocalDate localStartDate = LocalDate.parse(startDate, formatter);
String startDateFormatted = localStartDate.format(formatter);
return startDateFormatted;
}
public LocalDate getEndDate(String startDate) {
LocalDate localEndDate = LocalDate.parse(getStartDate(startDate)).plusDays(7);
return localEndDate;
}
我的错误是:
java.time.format.DateTimeParseException: Text '2018-10-18 00:00:00' could
not be parsed at index 4
索引 4 建议 '-' 字符。不确定用于删除原始 String
中的 ISO 时间格式的格式化程序模式
我现在正在浏览 Javadocs,但有人能告诉我如何修复吗?
您的输入格式有误。试试这个:
public String getStartDate(String startDate)
{
DateTimeFormatter inputFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
DateTimeFormatter outputFormat = DateTimeFormatter.ofPattern("dd/MM/yyyy");
return LocalDate.parse(startDate, inputFormat).format(outputFormat);
}
您需要两个 格式化程序。一个用于输入,一个用于输出:
public String getStartDate(String startDate) {
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
LocalDate localStartDate = LocalDate.parse(startDate, inputFormatter);
String startDateFormatted = localStartDate.format(outputFormatter);
return startDateFormatted;
}
我在找到解析日期的正确方法时遇到了一些困难。
我收到以下格式的字符串形式的日期:'2018-10-18 00:00:00'
我需要将其转换为 18/10/2018 并存储在变量 startDate
然后我需要一个新变量来保存 endDate 变量,以便将日期向前滚动一周。
我的代码:
public String getStartDate(String startDate){
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
LocalDate localStartDate = LocalDate.parse(startDate, formatter);
String startDateFormatted = localStartDate.format(formatter);
return startDateFormatted;
}
public LocalDate getEndDate(String startDate) {
LocalDate localEndDate = LocalDate.parse(getStartDate(startDate)).plusDays(7);
return localEndDate;
}
我的错误是:
java.time.format.DateTimeParseException: Text '2018-10-18 00:00:00' could
not be parsed at index 4
索引 4 建议 '-' 字符。不确定用于删除原始 String
中的 ISO 时间格式的格式化程序模式我现在正在浏览 Javadocs,但有人能告诉我如何修复吗?
您的输入格式有误。试试这个:
public String getStartDate(String startDate)
{
DateTimeFormatter inputFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
DateTimeFormatter outputFormat = DateTimeFormatter.ofPattern("dd/MM/yyyy");
return LocalDate.parse(startDate, inputFormat).format(outputFormat);
}
您需要两个 格式化程序。一个用于输入,一个用于输出:
public String getStartDate(String startDate) {
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
LocalDate localStartDate = LocalDate.parse(startDate, inputFormatter);
String startDateFormatted = localStartDate.format(outputFormatter);
return startDateFormatted;
}