java日期相关转换
- String转换成Date
需要注意一下小时制,SimpleDateFormat对象的parse()需要捕获异常
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String dateStr="2020-01-01 23:59:59";
Date retDate = sdf.parse(dateStr);
Date retDate1 = sdf1.parse(dateStr);
System.out.println("24小时制:"+sdf.format(retDate));
System.out.println("12小时制:"+sdf1.format(retDate1));
运行结果:
24小时制:2020-01-01 23:59:59
12小时制:2020-01-01 11:59:59
2. Date转换成固定格式的String
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(new Date()));
运行结果:
2021-03-18 20:48:39
java日期比较
- Date的before() after()函数
public static void main(String[] args) throws ParseException {
String dateStr="2020-01-01 23:59:59";
String dateStr2="2020-01-02 23:59:59";
//转换日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(dateStr);
Date date2 = sdf.parse(dateStr2);
//日期的比较
System.out.println("date2是否在date后面:"+date2.after(date));
System.out.println("date是否在date2前面:"+date.before(date2));
}
运行结果:
date2是否在date后面:true
date是否在date2前面:true
2. 用String的compareTo()
String dateStr="2020-01-01 23:59:59";
String dateStr2="2020-01-02 23:59:59";
Integer i=dateStr.compareTo(dateStr2);
System.out.println(i);
返回正值是代表左侧日期大于参数日期,反之亦然,日期格式必须一致
java日期相关转换 及比较(JDK 1.8才支持)
public static void main(String[] args) {
//LocalDate是不可变的和线程安全的,没有带时分秒的,如果处理带时分秒的时间可以用LocalDateTime这个类
//设定日期打印格式
DateTimeFormatter dtf=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
//字符串转日期
LocalDateTime parse = LocalDateTime.parse("2020-02-29 12:00:00",dtf);
//获取现在的日期
LocalDate now = LocalDate.now();
LocalDateTime now2 = LocalDateTime.now();
//计算365天之后的日期
LocalDate localDate = now.plusDays(365);
//计算365天之前的日期
LocalDate localDate2 = now.minusDays(365);
//按格式输出
System.out.println(dtf.format(now2));
//判断哪个日期在前(比较的类型需要一致),这里判定的是parse是否比now2要早
System.out.println(parse.isBefore(now2));
}
//今年是否闰年
System.out.println(now.isLeapYear());
System.out.println(LocalDate.parse("2020-01-01").isLeapYear());
```
运行结果:
2021-03-19 17:08:05
true
false
true
工具类可参考:
链接: [link](https://thinkwon.blog.csdn.net/article/details/111116600?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.control&dist_request_id=1328679.9207.16161346563508699&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.control).