Java 如何为当前时间和日期增加天数
在学习如何增加和减少日期之前,人们必须先熟悉Java日历类。在本节中,我们将通过实例来讨论 如何在Java中为当前时间和日期增加天数 。
Java日历API的add()函数是独一无二的,它为指定的单位增加给定的整数。
Java日历类提供了在某个时间点和一些日历字段之间转换日期的方法,如MONTH、YEAR、HOUR等。它是Objects的一个子类,支持Comparable、Serializable以及Cloneable接口。
因为它是一个抽象类,所以我们无法使用函数Object() { [本地代码] }来创建它的实例。我们必须使用静态方法Calendar来设计和实现一个子类。 getInstance()。
使用默认时区的当前时间和默认区域设置,Calendar.getInstance()返回一个日历对象。
Calendar.getInstance(TimeZone z)
Calendar.getInstance(Locale aL)
Calendar.getInstance(TimeZone z, Locale aL)
在Java中递减日期
请遵守下面的说明,在Java中减少日期。
在Java日历类中添加以下包。
import java.util.Calendar ;
首先,创建一个日历对象,然后在其上显示当前日期。
Calendar c = Calendar.getInstance();
System.out.println(" The present date is : " +c.getTime());
让我们使用add()方法以及Calendar来递减现在的日期。DATE不变。由于日期正在减少,所以设置一个负数。
c.add(Calendar.DATE,-2);
文件名:Decrement.java
import java.util.Calendar;
public class Decrement {
public static void main(String args[]) {
Calendar c = Calendar.getInstance() ;
System.out.println(" The present Date is = " + c.getTime()) ;
// Decreasing the present date by 2
c.add(Calendar.DATE, -2) ;
System.out.println(" The date after decreasing is = " + c.getTime()) ;
}
}
输出 。
The present Date is = Thu Jan 19 16:12:39 IST 2023
The date after decreasing is = Tue Jan 17 16:12:39 IST 2023
在Java中增加日期
请遵守下面的说明,在Java中增加日期。
在Java日历类中添加以下包。
import java.util.Calendar ;
首先创建一个日历对象,然后在上面显示当前日期。
Calendar c = Calendar.getInstance();
System.out.println(" The present date is : " +c.getTime());
让我们使用add()方法以及日历来增加现在的日期。DATE不变。由于日期被增加,所以设置一个正数。
c.add(Calendar.DATE, 3);
文件名:Increment.java
import java.util.Calendar;
public class Increment {
public static void main(String args[]) {
Calendar c = Calendar.getInstance() ;
System.out.println(" The present Date is = " + c.getTime()) ;
// increasing the present date by 2
c.add(Calendar.DATE, 2) ;
System.out.println(" The date after increasing is = " + c.getTime()) ;
}
}
输出 。
The present Date is = Thu Jan 19 16:17:03 IST 2023
The date after increasing is = Sat Jan 21 16:17:03 IST 2023
一个同时显示日期递增和递减的程序。
文件名:IncrementAndDecrement.java
import java.util.Calendar;
public class IncrementAndDecrement {
public static void main(String args[]) {
Calendar c = Calendar.getInstance() ;
System.out.println(" The present Date is = " + c.getTime()) ;
// Decreasing the date by 3
c.add(Calendar.DATE, -3) ;
System.out.println(" The date before 3 days= " + c.getTime()) ;
// Increasing the date by 6
c.add(Calendar.DATE, 9) ;
System.out.println(" The date after 6 days = " + c.getTime()) ;
}
}
输出 。
The present Date is = Thu Jan 19 16:22:40 IST 2023
The date before 3 days= Mon Jan 16 16:22:40 IST 2023
The date after 6 days = Wed Jan 25 16:22:40 IST 2023
请看下面一节中的示例,它将当前日期增加了3年2个月和1天。
文件名:AddingDays.java
import java.text.SimpleDateFormat ;
import java.util.Calendar ;
import java.util.Date ;
public class AddingDays {
public static void main(String args[]) {
// creating the present date in java
Date d = new Date() ;
//outputting the date in user reading format.
SimpleDateFormat dF = new SimpleDateFormat("yyyy-MM-dd") ;
String dS = dF.format(d) ;
System.out.println(" The present date is : "+dS) ;
// creating the instance for calendar class
Calendar c = Calendar.getInstance();
c.setTime(d) ;
// adding 3 years, 2 months, and 1 day
c.add(Calendar.YEAR, 3) ;
c.add(Calendar.MONTH, 2) ;
c.add(Calendar.DATE, 1) ;
// getting the new date from the calendar
Date d1 = c.getTime() ;
// printing the new date
String newDate = dF.format(d1) ;
System.out.println(" The updated date is : "+newDate) ;
}
}
输出 。
The present date is : 2023-01-19
The updated date is : 2026-03-20
让我们来看看下面这个例子,它的时间跨度从现在开始往前推3年2个月零1天。
文件名:DecreasingDays.java
import java.text.SimpleDateFormat ;
import java.time.LocalDateTime ;
import java.time.ZoneId ;
import java.time.format.DateTimeFormatter ;
import java.util.Date ;
public class DecreasingDays {
public static void main(String args[]) {
// The formats of the date
String f = "yyyy-MM-dd hh:mm:ss" ;
SimpleDateFormat dF = new SimpleDateFormat(f) ;
// The Date format in terms of java 8
DateTimeFormatter dF8 = DateTimeFormatter.ofPattern(f) ;
// creating the date in java
Date d = new Date() ;
//outputting the date in user reading format.
String dS = dF.format(d) ;
System.out.println(" The present date is : " + dS) ;
// manipulating the date to LocalDateTime
LocalDateTime local = d.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime() ;
System.out.println(" localDateTime : " + dF8.format(local)) ;
local = local.minusYears(3) ;
local = local.minusMonths(2) ;
local = local.minusDays(1) ;
local = local.minusHours(3).minusMinutes(2).minusSeconds(1) ;
// manupulating the LocalDateTime to Date
Date d1 = Date.from(local.atZone(ZoneId.systemDefault()).toInstant()) ;
// outputting the new date
String newDate = dF.format(d1);
System.out.println(" The updated date after going back 3 years is : " + newDate);
}
}
输出 。
The present date is : 2023-01-19 04:38:26
localDateTime : 2023-01-19 04:38:26
The updated date after going back 3 years is : 2019-11-18 01:36:25