SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date da = new Date();
long day = 24 * 3600 * 1000;
da.setTime(da.getTime() / day * day);//这个相当于取整,去掉小时,分钟和秒了啊
System.out.println(sdf.format(da));
我想得到2010-09-09 00:00:00但是结果是2010-09-09 08:00:00不解!
有其它方法获得这个结果,但是我想不明白为什么我这个方法不行!
Date da = new Date();
long day = 24 * 3600 * 1000;
da.setTime(da.getTime() / day * day);//这个相当于取整,去掉小时,分钟和秒了啊
System.out.println(sdf.format(da));
我想得到2010-09-09 00:00:00但是结果是2010-09-09 08:00:00不解!
有其它方法获得这个结果,但是我想不明白为什么我这个方法不行!
解决方案 »
- 非常经典的那本关于设计模式的书叫什么名?封面啥样啊?
- jmf怎么用啊?怎么配置eclipse啊?请前辈们指点。。。
- 我的下拉框怎么拉不下来?
- 在jsp页面中,怎么样把html标签的值赋给java的String类型
- 提交表单时,怎样获取listbox里面所有的值?
- 谁能提供《Applying UML and Patterns》下载链接?
- 新手,帮个忙。win98+jdk1.4在autoexec.bat中加不了classpath。在线
- 怎样知道当前的网络状况?
- 哪位老大有《think in java》电子版,小弟泣求,email:[email protected]
- 问一个有关网络编程的问题
- 关于JScrollPane滚动条置顶的小问题
- 求救,如何判断类型是数值的?
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:00:00");//改成这样就行了
如果小时也不要 就把HH也改成00
日历计算用日历类Calendar
Calendar cal =new GregorianCalendar(Locale.CHINA);
cal.setTime(new Date());
cal.set(Calendar.HOUR_OF_DAY, 0);就可以了
cal.set(Calendar.SECOND, 0);
还不如pengzhistar说的了,为什么按我的思维就不行呢!!
有时区的问题啊,中国只是+8而已
而且Calendar还有别的其他功能,很方便,比起DATE好用,再说,GregorianCalendar有几个构造器,可以不用每个都设为0
TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date da = new Date();
long day = 24 * 3600 * 1000;
da.setTime(da.getTime() / day * day);//这个相当于取整,去掉小时,分钟和秒了啊
System.out.println(sdf.format(da)); 这样看起来是不是中意了?