我们要搞清楚这两个方法
.formate
.parse
.formate
作用于 date格式的数据 将按照你的设想转出你想要的形式的 时间字符串
SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd");
sdf.format(xxxx);
.parse
作用于 字符串 ,把你的字符串变成时间形式
但我就是这里翻了车
System.out.print(sdf.parse("2020-07-16 10:26:08"));
parse转出来 怎么都不是 我要的时间格式
变成了 Thu Jun 16 10:26:08 CST 2020
后来查到可以
SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.print(sdf.parse("2020-07-16 10:26:08").toLocaleString());
然后有两个问题
1 转换成为时间字符串之后 : 会变成 2020-7-16 不满两位不补0
2 编辑器会警告 不要使用toLocaleString() 因为他被 sdf.format 取代了 而且 可以根据 sdf的格式来控制你的输出
那么我们如果不想要这样的格林威治时间格式只需要
System.out.print(sdf.format(simpleDF.parse("2020-07-15 00:00:00")));