黑马程序员技术交流社区

标题: 如何比较两个日期的大小 [打印本页]

作者: 张继鲁    时间: 2014-2-26 09:33
标题: 如何比较两个日期的大小
例如比较2014-2-18和2014-2-25两个日期的大!

作者: qqwwdr    时间: 2014-2-26 10:00
本帖最后由 qqwwdr 于 2014-2-26 10:04 编辑

我写了一个 比较的 例子, 可能不是很好,
Calendar 也有实现了Comparable接口 ,直接用Calendar  比较貌似也可以吧
  1. import java.util.*;
  2. class Test2Date
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 Calendar c = Calendar.getInstance();
  7.                 c.set(2014,2,18);
  8.                 //得到日期1
  9.                 Date d1 = c.getTime();
  10.                 c.set(2014,2,25);
  11.                 //得到日期2
  12.                 Date d2 = c.getTime();
  13.                 System.out.println("日期1 : " + d1.toLocaleString());
  14.                 System.out.println("日期2 : " + d2.toLocaleString());
  15.                 if(d1.after(d2)){
  16.                         System.out.println("日期1位于日期2 之后");
  17.                 }else{
  18.                         System.out.println("日期1位于日期2 之前");               
  19.                 }
  20.         }
  21. }
复制代码

作者: yunzhongzhuhuo    时间: 2014-2-26 18:02
感觉这个比较简单,你可以看一下,感觉好,给个技术分,我也准备去黑马学习哩,谢谢了!!!
  1. import java.util.Calendar;


  2. public class test {

  3.         public static void main(String[] args) {
  4.                 // TODO Auto-generated method stub

  5.                 Calendar c=Calendar.getInstance();
  6.                 c.set(2004, 2, 18);
  7.                 long t1=c.getTimeInMillis();
  8.                 c.set(2014, 2,25);
  9.                 long t2=c.getTimeInMillis();
  10.                 if(t1>t2)
  11.                         System.out.println("t1>t2");
  12.                 else
  13.                         System.out.println("t1<t2");
  14.         }

  15. }
复制代码




作者: xietansheng    时间: 2014-2-26 23:04
先将两个日期字符串解析成Date对象,再通过比较两个日期的毫秒值进行比较
  1. class Demo
  2. {
  3.         public static void main(String[] args) throws Exception
  4.         {
  5.                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  6.                
  7.                 Date date1 = sdf.parse("2014-2-18");
  8.                 Date date2 = sdf.parse("2014-2-25");
  9.                
  10.                 //通过比较两个日期的毫秒值进行比较大小
  11.                 if(date1.getTime() > date2.getTime())
  12.                 {
  13.                         System.out.println(sdf.format(date1));
  14.                 }
  15.                 else
  16.                 {
  17.                         System.out.println(sdf.format(date2));
  18.                 }
  19.                
  20.         }
  21. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2