Java代码如何对当前日期添加指定天数呢?

乔欣 Java经验 发布时间:2023-02-03 15:46:12 阅读数:4016 1
下文笔者讲述使用java代码将当前日期添加指定天数呢?

当前日期加减天数

实现思路:
    方式1:
       使用Calendar.add对当前日期进行计算操作
    方式2:
	   使用LocalDateTime对象的plus***方法进行计算操作

当前日期添加

package com.java265.time;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateExample {
    private static final DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    public static void main(String[] args) {
        Date currentDate = new Date();
        System.out.println(dateFormat.format(currentDate));
 
        // convert date to calendar
        Calendar c = Calendar.getInstance();
        c.setTime(currentDate);
 
        // manipulate date
        c.add(Calendar.YEAR, 1);
        c.add(Calendar.MONTH, 1);
        c.add(Calendar.DATE, 1); //same with c.add(Calendar.DAY_OF_MONTH, 1);
        c.add(Calendar.HOUR, 1);
        c.add(Calendar.MINUTE, 1);
        c.add(Calendar.SECOND, 1);
 
        // convert calendar to date
        Date currentDatePlusOne = c.getTime();
 
        System.out.println(dateFormat.format(currentDatePlusOne));
    }
}

使用LocalDateTime对象的加减法对当前日期进行操作

package com.java265.time;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Date;
public class LocalDateTimeExample {
    private static final String DATE_FORMAT = "yyyy/MM/dd HH:mm:ss";
    private static final DateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT);
    private static final DateTimeFormatter dateFormat8 = DateTimeFormatter.ofPattern(DATE_FORMAT);
    public static void main(String[] args) {
 
		// Get current date
        Date currentDate = new Date();
        System.out.println("date : " + dateFormat.format(currentDate));
 
        // convert date to localdatetime
        LocalDateTime localDateTime = currentDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
        System.out.println("localDateTime : " + dateFormat8.format(localDateTime));
 
        // plus one
        localDateTime = localDateTime.plusYears(1).plusMonths(1).plusDays(1);
        localDateTime = localDateTime.plusHours(1).plusMinutes(2).minusMinutes(1).plusSeconds(1);
 
        // convert LocalDateTime to date
        Date currentDatePlusOneDay = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
 
        System.out.println("\nOutput : " + dateFormat.format(currentDatePlusOneDay));
    }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202302/16754109465638.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者