Java 时间加八个小时 java时间加减计算方法

作者: adm 分类: java 发布时间: 2023-08-17

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());

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!