报错
java.text.ParseException: Unparseable date
原因 SimpleDateFormat()是以原文本格式为主
SimpleDateFormat 中 parse 是解析原格式 所以SimpleDateFormat (原格式)
String time = "20211021205456";;
SimpleDateFormat(yyyyMMddhhmmss)
sdf.parse(time);
-- 得到结果 Thu Oct 21 20:54:56 CST 2021
format 是要把原时间格式转换为 新格式SimpleDateFormat (原新格式)
String time = 'Thu Oct 21 20:54:56 CST 2021';
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
TimeZone tz = TimeZone.getTimeZone("GMT+8");
sdf1.setTimeZone(tz);
sdf1.format(time);
-- 得到结果 2021-10-21
以下为测试代码
public static void main(String[] args) {
String time = "20211021205456";
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmmss");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
TimeZone tz = TimeZone.getTimeZone("GMT+8");
sdf1.setTimeZone(tz);
try {
System.out.println(sdf1.format(sdf.parse(time)));
}catch (Exception e){
System.out.println(e);
}
}
JS yyyy变成Date格式
new Date(Date.parse(time.replace(/-/g, "/")))