求助一个java关于日期的方法怎么写?

1、要求越简单越好2、但是不能有漏洞,闰日要考虑进去。具体要求:方法根据传来的一个字符串如:“2009-05-03”计算30天后的日期返回一个字符串。day=day*24... 1、要求越简单越好
2、但是不能有漏洞,闰日要考虑进去。
具体要求:
方法根据传来的一个字符串如:“2009-05-03”计算30天后的日期返回一个字符串。
day = day*24*60*60*1000这个都什么意思?
展开
 我来答
Greatvillian
2009-05-04
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
验证辻的,没有问题!
java系统把时间定义成了一个long 型的变量,保存的是毫秒值,通辻运算得到具体的时间.根据你的要求,我的作法是:先把传来的日期,进行设置,再把传来的天数,转成毫秒数, 加上去,最后通过公式返回结果值.
import java.util.*;

public class Test {
public static void main(String[] args) {
//两个参数分别是:方法根据传来的一个字符串,多少天后
String sr = myDate("2008-2-28",2);
System.out.println(sr);

}
public static String myDate(String str, int t) {
long ln = 1000*60*60*24*t;

String[] arr = str.split("-");
int [] intArr = new int[arr.length];
for(int i=0; i<arr.length; i++) {
intArr[i] = Integer.valueOf(arr[i]);
}

Date d = new Date();
d.setYear(intArr[0]-1900);
d.setMonth(intArr[1]-1);
d.setDate(intArr[2]);
ln = ln + d.getTime();
d.setTime(ln);
String ss = String.valueOf(d.getYear()+1900) + "-";
ss += String.valueOf(d.getMonth()+1) + "-";
ss += String.valueOf(d.getDate());

return ss;
}

}
liveimain001
2009-05-05 · 超过37用户采纳过TA的回答
知道答主
回答量:158
采纳率:0%
帮助的人:0
展开全部
补充:day = day*24*60*60*1000是将天转换成毫秒, date.getTime获得的是毫秒数,所以要转换

我写出来了,你粘过去运行一下看一下结果,传多少天数都可以,我试了,没什么问题

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

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
peiqingsheng
2009-05-04
知道答主
回答量:8
采纳率:60%
帮助的人:6.7万
展开全部
你查阅Java API文档中util类 有现成的方法
你可以去找下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式