黑马程序员技术交流社区

标题: 一个关于日期的问题 [打印本页]

作者: Yaphets    时间: 2014-3-5 20:50
标题: 一个关于日期的问题
有一个编程题目是这样的 :使用File类列出某一个目录下创建日期晚于2010-12-10文件。。列出来了文件的日期,,,,但是怎么比较日期的大小啊、。求解啊、!可以的话写代码给我看看啊
作者: 今生无憾    时间: 2014-3-5 21:14
对日期的处理,常用类是Calendar类,里面有把日期转成毫秒的方法。
  
  思路:Calendar.setTime(Date date)。把日期设置为你需要的。然后再getTimeInMillis()把日期转成毫秒   这样就可以比较了。
   
        其实就俩步骤   setTime(),getTimeInMillis();获得值(long类型)后比较大小就是了
作者: chenfc8578    时间: 2014-3-5 21:22
Date中有个before方法:测试此日期是否在指定日期之后。
import java.util.*;
import java.text.*;
public class Demo
{
        public static void main(String args[])throws Exception
        {
                Date nowDate=new Date();
                String myString = "2014-03-04";
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                Date d = sdf.parse(myString);

                boolean flag = d.before(nowDate);
                if(flag)
                System.out.print("早于今天");
                else
                System.out.print("晚于今天");
        }
}
作者: yunzhongzhuhuo    时间: 2014-3-5 22:43
这个不知道是否符合你所说的
  1. Calendar c=Calendar.getInstance();
  2.                 c.set(2012, 2,10);
  3.                 long t1=c.getTimeInMillis();
  4.                
  5.                 c.set(2012, 3,10);
  6.                 long t2=c.getTimeInMillis();
  7.                
  8.                 if(t1>t2){
  9.                         System.out.println("大于");
  10.                 }
复制代码

作者: 为你而去    时间: 2014-3-5 23:35
比较通用的方法是setTime(dd)把日期设置为可以转化的,getTimeInMillis()把日期转成毫秒   
毫秒数据可能回表较大,要使用Long类型,就成了两个长整形之间的比较问题




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