Java 时间加八个小时 java时间加减计算方法
Java日期或时间相加减
java.time.LocalDateTime是一个可以表示日期时间的对象,代表日期时间,也提供了日期LocalDate和时间LocalTime。LocalDateTime的时间精度为纳秒精度(1秒=1000毫秒,1毫秒=1000微秒,1微秒=1000纳秒)
后续开发尽量使用LocalDateTime等新工具提高性能和并发处理安全性,更多操作百度上太多就不再这里详述了
一、LocalDate、 LocalDateTime时间加减操作,支持各种维度
LocalDate.now(); LocalTime.now(); LocalDateTime.now(); LocalDateTime.parse("2022-02-01"); LocalDateTime.of(2022, 7, 25, 8, 0, 0); LocalDateTime.now().plusYears(-3); //减去3年 LocalDateTime.now().plusWeeks(1); //加1周 LocalDateTime.now().minusHours(5); //加5小时 LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss")); //序列化
时间类型转换
LocalDateTime d = LocalDateTime.now(); d.toDate()可以转为Date对象 d.toLocalDate()转为LocalDate
例子
@Data @TableName("person") public class Person implements Serializable { @TableId(value = "id") private Long id; private String username; private LocalDateTime birthDate; }
二、date 时间加减
1.获取当前系统时间
Date date = new Date();
2.实现时间的加减的两种方法
第一种: 用java.text.SimpleDateFormat来实现
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); System.out.println("今天的日期:"+df.format(date)); System.out.println("两天前的日期:" + df.format(new Date(date.getTime() - 2 * 24 * 60 * 60 * 1000))); System.out.println("三天后的日期:" + df.format(new Date(date.getTime() + 3 * 24 * 60 * 60 * 1000)));
获取当前毫秒值进行加减.
第二种:用java.util.Calender来实现
Calendar cal = Calendar.getInstance(); cal.setTime(date);//设置起时间 //System.out.println("111111111::::"+cal.getTime()); cal.add(Calendar.YEAR, 1);//增加一年 //cd.add(Calendar.DATE, 1);//增加一天 //cd.add(Calendar.DATE, -10);//减10天 //cd.add(Calendar.MONTH, 1);//增加一个月 System.out.println("输出::"+cal.getTime());