字符串类型的时间,经过SimpleDateFormat.parse之后变成 格林威治时间 (GMT)Thu Jun 16 10:26:08 CST 2020,控制改成yyyy-MM-dd HH:mm

我们要搞清楚这两个方法
.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")));

你可能感兴趣的:(java)