求用java编写一个能够完成,对给定日期增加天数的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求用java编写一个能够完成,对给定日期增加天数的方法相关的知识,希望对你有一定的参考价值。

例如:“2009-05-03”传入方法后对其增加30天,返回增加天数后的日期如:“2009-06-02”求代码
objCalendar.add(Calendar.MONTH, -1)什么用处?

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class CalendarComponebts

Calendar objCalendar;
//获取Calendar对象的构造方法
CalendarComponebts()
objCalendar=Calendar.getInstance();


//显示当前时间
void display()
String time="2009-3-1";
String arry[]=time.split("-");
int nian=Integer.parseInt(arry[0]);
int yue=Integer.parseInt(arry[1]);
int ri=Integer.parseInt(arry[2]);
objCalendar.set(nian, yue, ri);
System.out.println(objCalendar.get(Calendar.YEAR)+"-"+objCalendar.get(Calendar.MONTH)+"-"+objCalendar.get(Calendar.DATE));
objCalendar.add(Calendar.MONTH, -1);
// 增加31天
objCalendar.add(Calendar.DATE, 31);
// 增加10年
// objCalendar.add(Calendar.YEAR, 10);
Date objDate=new Date();
SimpleDateFormat dateFm = new SimpleDateFormat("yyyy-M-d");
objDate=objCalendar.getTime();

System.out.println(dateFm.format(objDate));

public static void main(String[] args)
CalendarComponebts componebts=new CalendarComponebts();
componebts.display();




以前学校里做过- -给我分哦!!!
objCalendar.add(Calendar.MONTH, -1)什么用处?
这个是月份减了一个月,执行到这步objDate=objCalendar.getTime();的时候就变成2009-5-1,虽然它显示是5月1日,但是它还是4月的月份只有30天的。
objDate=objCalendar.getTime();<<<不知道这里面是怎么转换的要找高人来问了。
参考技术A 我写出来了,你粘过去运行一下看一下结果,传多少天数都可以,我试了,没什么问题

public class T

public static void main(String[] args) throws ParseException

Date d = new Date();
Date newDate = addDate(d, 30L);

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(dateFormat.format(newDate));

/**
* 添加日期
* @param d 现日期
* @param day 添加的天数
* @return 添加后的日期
* @throws ParseException
*/
public static Date addDate(Date d,long day) throws ParseException

long time = d.getTime();
day = day*24*60*60*1000;
time+=day;
return new Date(time);


参考技术B 有个API可以帮你完成
------------
Calender

JSJavaScript 指定日期增加天数

指定某个日期(字符串),增加n天后,输出时间字符串,格式:年-月-日;

 1 /**
 2  * [dateAddDays 从某个日期增加n天后的日期]
 3  * @param  {[string]} dateStr  [日期字符串]
 4  * @param  {[int]} dayCount [增加的天数]
 5  * @return {[string]}[增加n天后的日期字符串]
 6  */
 7 function dateAddDays(dateStr,dayCount) {
 8     var tempDate=new Date(dateStr.replace(/-/g,"/"));//把日期字符串转换成日期格式
 9     var resultDate=new Date((tempDate/1000+(86400*dayCount))*1000);//增加n天后的日期
10     var resultDateStr=resultDate.getFullYear()+"-"+(resultDate.getMonth()+1)+"-"+(resultDate.getDate());//将日期转化为字符串格式
11     return resultDateStr;
12 }
13 
14 dateAddDays(‘2019-03-18‘,27); //"2019-4-14"

-------------------------------------------------------------------------------

以上是关于求用java编写一个能够完成,对给定日期增加天数的方法的主要内容,如果未能解决你的问题,请参考以下文章

根据天数计算日期

SQL Server 编程 - 按给定天数更新所有日期

新手求教Java时间转换问题(增加天数后的日期输出)

给定年月日 怎样用C语言编程计算2个日期之间的时间天数

delphi 判断给定日期的天数,给定日期距离月初的天数,给定日期距离月末的天数

android里 怎么计算日期差