怎样实现一个日期字符串+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 试试看
[解决办法]
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#试试,多试试别的