怎样实现一个日期字符串+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#试试,多试试别的