Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Calendar.clear(int field)的陷阱

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

运行以下代码,你期望会输出什么?

              // 假设现在的时间是11:34:03
              Calendar cal = Calendar.getInstance();
             cal.set(Calendar.HOUR_OF_DAY, 5);
             cal.clear(Calendar.HOUR_OF_DAY);
             cal.clear(Calendar.Calendar.SECOND);
             System.out.println("h: "cal.get(Calendar.HOUR_OF_DAY) + " ,s: " + cal.get(Calendar.SECOND));

你一定以为会输出h: 0 , s: 0

什么?不是?哪输出的是h: 5 , s: 3

都不是!!!

输出的h: 11 , s: 0

呵呵,难以置信吧?

原来Calender的clear(int)方法并不是清零,

对于HOUR,HOUR_OF_DAY就是返回最原始的值。

其他的可能是清零。

总之,不是一个保险的方法,还是尽量用set(HOUR, 0)这样的方法代替。




相关文章

相关软件