近期,遇到很多关于Date转String,String转Date,Date转Date的问题
1.Date格式转为"yyyy-MM-dd HH:mm:ss"的String格式
Date date = new Date();
//方法1:
String s = DateUtil.formatDateTime(date);//Fri Mar 10 16:38:27 CST 2023
//方法2:
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义新的日期格式
String dateString = formatter.format(date);
输出结果为:2023-03-10 16:38:27
2.Sting格式转为"yyyy-MM-dd HH:mm:ss"的Date格式
//String testTime = "Fri Mar 10 16:38:27 CST 2023";//也可以
String testTime = "2023-03-11 16:38:27";
Date date = DateUtil.parse(testTime); //yyyy-MM-dd HH:mm:ss
Date beginOfDay = DateUtil.beginOfDay(date); //yyyy-MM-dd 00:00:00
Date endOfDay = DateUtil.endOfDay(date);//yyyy-MM-dd 23:59:59
System.out.println(date);
System.out.println(beginOfDay);
System.out.println(endOfDay);
输出结果:2023-03-11 16:38:27
2023-03-11 00:00:00
2023-03-11 23:59:59
3.Date格式转为"yyyy-MM-dd"格式的Date
Date date = new java.sql.Date(new Date().getTime());
System.out.println(date);
输出结果为:2023-03-10
4. Date格式转为"yyyy-MM-dd HH:mm:ss"的Date格式
Date startDate = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义新的日期格式
String dateString = formatter.format(startDate);
Date date = DateUtil.parse(dateString, "yyyy-MM-dd HH:mm:ss");
System.out.println(date);
输出结果:2023-03-10 17:03:10
5.String类型的日期 转换为Long类型
Date lastDate = null;
String s = "2023-03-10";
lastDate = DateUtil.parse(s);
Long time = lastDate.getTime();
System.out.println(time);
输出结果:1678377600000
6.取日期集合中最大的日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
List<Date> dateList = new ArrayList<>();
String dateStr1 = "2023-12-12 5:00:00";
String dateStr2 = "2008-12-11 23:55:01";
String dateStr3 = "2018-12-10 00:04:00";
String dateStr4 = "2018-12-12 04:00:00";
String dateStr5 = "2018-12-11 23:59:55";
Date parse1 = sdf.parse(dateStr1);
Date parse2 = sdf.parse(dateStr2);
Date parse3 = sdf.parse(dateStr3);
Date parse4 = sdf.parse(dateStr4);
Date parse5 = sdf.parse(dateStr5);
dateList.add(parse1);
dateList.add(parse2);
dateList.add(parse3);
dateList.add(parse4);
dateList.add(parse5);
Date max = Collections.max(dateList);
System.out.println(sdf.format(max));
输出结果为:2023-12-12 05:00:00
7.比当前日期大一天
LocalDateTime dateTime = LocalDateTime.now().plusDays(1);