首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

怎样实现一个日期字符串+n小时得到一个新的日期?多谢

2012-03-08 
怎样实现一个日期字符串+n小时得到一个新的日期?谢谢~一个日期字符串d2012/05/23 05:05:02,然后给d加上

怎样实现一个日期字符串+n小时得到一个新的日期?谢谢~
一个日期字符串d="2012/05/23 05:05:02",然后给d加上n小时,得到一个新的日期字符串



我实现了当前系统时间+n小时得到一个新日期,但无法实现用指定的日期+n小时

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss", Locale.US);
Calendar date = Calendar.getInstance();


//Date d=sdf.parse("2012/05/23 05:05:02");//
//Date d=new Date("2012/05/23 05:05:02"); //设定一个日期,但后面给它+n小时就报错 d.HOUR cannot be resolved or is not a field


date.add(date.HOUR,23);//日期+23个小时,得到一个新日期

out.print(sdf.format(date.getTime())+"<br>");//输出新日期

[解决办法]
public static Date relativeHours() {
Calendar date = Calendar.getInstance();
Date d=sdf.parse("2012/05/23 05:05:02");
date.setTime(d);
date.add(Calendar.HOUR, n);
return date.getTime();
}


[解决办法]
用calendar的方法
set(int year, int month, int date, int hourOfDay, int minute) 
设置一下新的日历
然后在getTime() 一个新的date 试试看
[解决办法]

Java code
        String str = "2012/05/23 05:05:02";        Date date = new Date(str);        Calendar cal = Calendar.getInstance();        cal.setTime(date);        cal.add(Calendar.HOUR_OF_DAY, 23);        System.out.println(cal.getTime());
[解决办法]
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss", Locale.US);
Calendar date = Calendar.getInstance();
date.set(2012,(04-1),23,05,05,02);//月份会大一个月所有你减1
Date d=date.getTime();
date.add(date.HOUR_OF_DAY,23);//日期+23个小时,得到一个新日期
System.out.print(sdf.format(date.getTime())+"<br>");//输出新日期

看下。
[解决办法]
1#试试,多试试别的

热点排行