关于Java字符串与日期相互转换的问题
正解:SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
yyyy-MM-dd 格式写错,也会导致解析不正确
今天我写了一个转换日期的,最后发现是这个格式的导致的。
错误:SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd");
写代码,idea自动带出的YYYY-MM-dd
String dates = "2020-04-01";
Date date = null;
日期转换需要catch,防止日期转换异常
try {
date = sdf.parse(dates);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(date);
Sun Dec 29 00:00:00 GMT+08:00 2019 (输出的是2019-12-29)
换成正解里的格式就数据的是正确的日期
日期转成字符串
String datestr = sdf.format(date);
下面还提供一下取年,月,日的方法
System.out.println(Integer.toString(testDate.getCalendarInstance(date).get(Calendar.YEAR)));
System.out.println(Integer.toString(testDate.getCalendarInstance(date).get(Calendar.MONTH) + 1));
System.out.println(Integer.toString(testDate.getCalendarInstance(date).get(Calendar.DAY_OF_MONTH)));