java - 为什么日期无法解析
问题描述
我正在尝试解析一个新的 Date 对象,但我一直遇到以下错误。
W/System.err: java.text.ParseException: Unparseable date: "Thu May 16 09:28:39 GMT+01:00 2019"
我为 dateFormat 尝试了各种不同的模式,但似乎没有任何效果。
这就是错误所在。
c.setTime(dateFormat.parse(oldDate));
代码
public static String addDay(int numberOfDays) {
String oldDate = String.valueOf(new Date());
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy'T'HH:mm:ss", Locale.ENGLISH);
Calendar c = Calendar.getInstance();
try {
c.setTime(dateFormat.parse(oldDate));
} catch (ParseException e) {
e.printStackTrace();
}
c.add(Calendar.DAY_OF_YEAR,numberOfDays);
dateFormat=new SimpleDateFormat("dd-MM-yyyy'T'HH:mm:ss", Locale.ENGLISH);
Date newDate=new Date(c.getTimeInMillis());
String resultDate=dateFormat.format(newDate);
return resultDate;
}
解决方案
试试这个功能
在您的问题中,您正在转换Date
为string
然后在你再次解析String
到Date
那是很长的路要走。可以直接设置为
c.setTime(oldDate);
public static String addDay(int numberOfDays) {
Date oldDate = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy'T'HH:mm:ss", Locale.ENGLISH);
Calendar c = Calendar.getInstance();
c.setTime(oldDate);
c.add(Calendar.DAY_OF_YEAR,numberOfDays);
dateFormat=new SimpleDateFormat("dd-MM-yyyy'T'HH:mm:ss", Locale.ENGLISH);
Date newDate=new Date(c.getTimeInMillis());
String resultDate=dateFormat.format(newDate);
return resultDate;
}
推荐阅读
- java - 如何防止 Eclipse 自动导入包?
- salesforce - 我应该如何在 Pentaho Spoon 的 SalesForce 输入中指定一个布尔值?
- java - 如何在 Maven 中为 Java 13 和 Spring 修复不支持的类文件主要版本 57
- python - 将 LSTM Pytorch 模型转换为 ONNX 时遇到问题
- excel - 迷你图 - 静态数据范围
- java - 为什么 p{Digit} 模式在 Java 中不起作用?
- java - 扫描仪未检测到第一个用户输入
- reactjs - 伪样式组件 h2 未在 html 中显示
- c# - VSCode c#自动完成功能不适用于添加的包
- java - 捕获 Method 对象作为通知 AspectJ 中的参数