如何比较两个DATE变量是否是同一天?(用getYear/getMonth/getDate似乎IDE里面很不好看)
解决方案 »
- javaSE的弹出窗口问题
- 有人编过java作函数图像的小应用程序吗?
- java动态加载,java文件生成,建立文件路径等
- protected 和 default 修饰的方法和变量能被不同包的类继承或访问么????
- 菜鸟问题!外加散分!!!!
- jcombox 触发 ItemListener
- int i=-1;我怎么能看到这个-1在内存中存储的形式(0和1组成的形式)
- 一个有意思的问题--如何实现36进制运算?
- 在线等!!!急!!!关于数据库中时间类型与Long型的转换!!!
- 怎样将数字进行舍入?
- 请大家看一下 这两段代码有什么不同?
- 请问 html 的<marquee>标记能应用于jLabel 中吗?~~~
if(sdf.format(dt1).equals(sdf.format(dt2))) {
...
}
1、用java.util.Date.compareTo(Date anotherDate) 但是Date这个类很多方法对时区等支持不够,所以不少都是已过时。现在日期推荐用大家这个方法比较calnedar。不过Date还是有可取之处,相对来说它更轻量级。在比较文本日期的时候比较简单,比如:
DateFormat df = new SimpleDateFormat();
(df.parse("2007-05-01")).compareTo(df.parse("2007-07-01"))
算是一个比较严谨又简单的比较文本日期的方法了。
2、用calnedar的实现类GregorianCalendar ,这个构造就多了。实际能进行比较的方法就是dreamover(梦醒了〖http://hellfire.cn〗)所说的public boolean before(Object when),public boolean after(Object when),public int compareTo(Calendar anotherCalendar),其实本质都是用的compareTo
Calendar c2 = new GregorianCalendar(2007, 6, 11, 15, 22, 44);
SimpleDateFormat sim = new SimpleDateFormat("yyyyMMdd");
String c1s = sim.format(c1.getTime());
String c2s = sim.format(c2.getTime());
System.out.println(c1s.compareTo(c2s));