java根据输入的日期(****年**月**日)计算输出第二天的日期。 如输入:1999年12月31日输出:2000年1月1日

 我来答
jg...7@163.com
2010-12-20 · TA获得超过287个赞
知道小有建树答主
回答量:149
采纳率:0%
帮助的人:193万
展开全部
这个楼主可以自己编写一个java类的方法去获得。
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @describe:
* @author: Nivana
* @version: V1.0 2010-12-20上午09:12:37 create
*/
public class Test {

/**
* 得到一个时间延后或前移几天的时间,nowdate为时间,delay为前移或后延的天数
* @param nowdate 输入的起始时间,格式为yyyy-mm-dd,例如1999-12-31
* @param delay 延迟天数,你的情况输入参数可为"1"。
* @return
*/
public String getNextDay(String nowdate, String delay) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
ParsePosition pos = new ParsePosition(0);
String mdate = "";
Date d = sdf.parse(nowdate,pos);
long myTime = (d.getTime() / 1000) + Integer.parseInt(delay) * 24 * 60 * 60;
d.setTime(myTime * 1000);
mdate = sdf.format(d);
return mdate;
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("The error is getNextDay."+e.getCause());

}
}

/**
* 测试方法
* @param args
*/
public static void main(String[] args) {
Test test = new Test();
System.out.println(test.getNextDay("1999-12-31", "1"));//输出2000-01-01
}
}
希望对你有帮助吧。
匿名用户
2010-12-20
展开全部
你提问了两遍啊,这里我也给你答复了吧,上面那些人给的方法太麻烦了,还是用我给的方法吧:
//需要的包:
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;
// 代码
GregorianCalendar gc = new GregorianCalendar();
gc.set(1999, 11, 31); // 这里月份从0开始,到11
gc.add(Calendar.DAY_OF_YEAR, 1);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.format(gc.getTime()));
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Jseven_jy
2010-12-20 · TA获得超过8122个赞
知道大有可为答主
回答量:2499
采纳率:100%
帮助的人:1144万
展开全部
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class FormatCDate {

/**
* @param args
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
// TODO Auto-generated method stub
System.out.println("请输入一个日期****年**月**日,如:2010年02月09日");
Scanner in = new Scanner(System.in);
String inDate = in.nextLine();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
Date inD = sdf.parse(inDate);
Date outD = new Date(inD.getTime() + 1000 * 60 * 60 * 24);
System.out.println(sdf.format(outD));
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
oppps
2010-12-20 · TA获得超过2742个赞
知道小有建树答主
回答量:1488
采纳率:0%
帮助的人:1267万
展开全部
/**
* 计算出离beginDate日期datas天的日期,若datas小于0表示当前日期之前datas天,若datas大于0表当前日期之后datas天
*
* @param 要计算的天数
* @return 得到日期
*/
public static Date getDate(Date beginDate, int datas) {
Calendar beginCal=Calendar.getInstance();
beginCal.setTime(beginDate);
GregorianCalendar calendar = new GregorianCalendar(beginCal.get(Calendar.YEAR),beginCal.get(Calendar.MONTH),beginCal.get(Calendar.DATE));
calendar.add(GregorianCalendar.DATE, datas);
String begin = new java.sql.Date(calendar.getTime().getTime()).toString();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date endDate = null;
try {
endDate = sdf.parse(begin);
} catch (ParseException e){}
return endDate;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式