java - 日期时间解析异常;无法在索引 4 处解析文本“2018-10-18 00:00:00”
问题描述
我很难找到解析日期的正确方法。
我收到以下格式的字符串日期:'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 建议使用“-”字符。不确定用于删除原始字符串中的 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);
}
推荐阅读
- ruby-on-rails - 如何调用回调?
- javascript - 有条件地将类分配给 PrimeNG p-datatable 行组标题
- r - R download.file 下载没有图像的原始 html
- dotnetbrowser - 如何在 DotNetBrowser 中创建 JSArray?
- python - Tweepy check if a tweet is a retweet
- amazon-dynamodb - AppSync BatchResolver AssumeRole Error
- python - How to plot same function with many different values in subplots in numpy/matplotlib python?
- android - Cordova Android 构建失败
- php - Compiling PHP 7.2 with OpenSSL
- python - Django 扩展初学者建议/资源