//日期转换 (String <-->Date)
一:java
方法1:
Date date = new Date();
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String todayTime = sdf.format(date);
Date time =sdf.parse(todayTime);
方法2:新特性
LocalDate localDate = LocalDate.parse("2019-05-08");
String date = localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String date = dtf.format(localDate);
二:sql
date_format(now(),'%Y-%m-%d %H:%i:%s')
//日期比较
一:java
方法1.Date.compareTo()
date1.compareTo(date2)
date1>date2 则返回值大于0
date1<date2 则返回值小于0
date1=date2 则返回值等于0
方法2:Date.before()小于,Date.after()大于和Date.equals()等于
date1.after(date2) date1大于date2 则返回为true 小于或相等则返回false 其他同理
方法3: Calender.before(),Calender.after()和Calender.equals()
原理同上,返回值为boole类型
Date date = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(date);
方法4: LocalTime,LocalDate,LocatDateTime的isBefore(),isAfter(),isEqual()和compareTo()
原理同上,返回值为boolea类型
LocalDate localDate = LocalDate.of(2023,7,7); 年月日
LocalTime localTime = LocalTime.of(10,46,0); 时分秒
LocalDateTime localDateTime = LocalDateTime.of(2023,7,7,11,0,0);年月日-时分秒
二:sql
sql直接使用 “>”,“<”,“=”即可
//日期添加一天/月/年...以日为例
一:Java
方法1:Calendar.add()
Date date = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, 1);
cal.add(Calendar.DATE, -1);减一天
方法2:LocalDate.plusDays(1)年月日周,LocalTime.plusHours(1) 时分秒, LocalDateTime.plusDays(1) 年月日时分秒周
或者localDate.plus(2, ChronoUnit.DAYS);(减少用 minus)
方法3:instant 新特性 时间戳类
//获得当前时间
Instant instant = Instant.now();
instant.plus(Duration.ofDays(1).plus(Duration.ofHours(1)));(减少用 minus)
instant.plus(1,ChronoUnit.DAYS);
二:sql
DATE_ADD(NOW(),INTERVAL 1 DAY(MONTH/YEAR) 加一天
DATE_SUB(NOW(),INTERVAL 1 DAY 减一天
//获取当前年份
LocalDate.now().getYear()
有关日期操作(sql,string,date)
于 2023-07-06 18:41:01 首次发布