读书人

java中怎么获取上个小时的日期?

发布时间: 2012-10-11 10:16:10 作者: rapoo

java中如何获取下个小时的日期????
比如说
java.text.SimpleDateFormat df=new java.text.SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");
java.util.Calendar calendar=java.util.Calendar.getInstance();
Date sDate = DateBean.getFormatDate("2012-11-23 08:00:00");
calendar.setTime(sDate);
// calendar.roll(java.util.Calendar.DAY_OF_YEAR,1);
// System.out.println( "天: "+df.format(calendar.getTime()));
// java.util.Calendar calendar2=java.util.Calendar.getInstance();
// calendar2.setTime(DateBean.formatStr(df.format(calendar.getTime())));
calendar.roll(java.util.Calendar.HOUR_OF_DAY,20);
System.out.println( "小时: "+df.format(calendar.getTime()));

这段代码不行,比如说2012-11-23 08:00:00 20小时后的时间打印出来的是2012-11-13 20:00:00 这样肯定是不对的


如何自动获取n个小时后的日期呢?????

[解决办法]
不明白楼主想干嘛
[解决办法]
用当前时间做时间的加减不能实现你的需求吗
[解决办法]
你要的是这个么?
java.text.SimpleDateFormat df=new java.text.SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");
java.util.Calendar calendar=java.util.Calendar.getInstance();
calendar.setTime(new Date());
System.out.println( "当前时间: "+ df.format(calendar.getTime()));
calendar.add(java.util.Calendar.HOUR, 25);
System.out.println( "20小时后时间: "+ df.format(calendar.getTime()));
[解决办法]
java.text.SimpleDateFormat df=new java.text.SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");
java.util.Calendar calendar=java.util.Calendar.getInstance();
calendar.setTime(new Date());
System.out.println( "当前时间: "+ df.format(calendar.getTime()));
calendar.add(java.util.Calendar.HOUR, 25);
System.out.println( "25小时后时间: "+ df.format(calendar.getTime()));


对的话,给分哈
[解决办法]
用 calendar.add 方法。

roll是不改变比指定字段高的字段值。所以日期不会变化,只改变了小时。

另外你那个 DateBean是啥东西? 直接用df.parse不好吗?
[解决办法]

Java code
        Calendar date = Calendar.getInstance();        System.out.println("    当前时间:"+date.getTime());        date.add(Calendar.HOUR, 1);        System.out.println("    一个小时后的时间:"+date.getTime());
[解决办法]
Calendar cal = Calendar.getInstance();

SimpleDateFormat ftime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date trialTime = ftime.parse("2012-11-23 08:00:00");

cal.setTime(trialTime);

System.out.println(ftime.format(cal.getTime()));

cal.set(Calendar.HOUR, cal.get(Calendar.HOUR) + 20);

System.out.println(ftime.format(cal.getTime()));
[解决办法]
来晚了。
[解决办法]
是滴咯,呵呵~~

读书人网 >Java Web开发

热点推荐