A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Yaphets 中级黑马   /  2014-3-5 20:50  /  1712 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有一个编程题目是这样的 :使用File类列出某一个目录下创建日期晚于2010-12-10文件。。列出来了文件的日期,,,,但是怎么比较日期的大小啊、。求解啊、!可以的话写代码给我看看啊

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

4 个回复

倒序浏览
对日期的处理,常用类是Calendar类,里面有把日期转成毫秒的方法。
  
  思路:Calendar.setTime(Date date)。把日期设置为你需要的。然后再getTimeInMillis()把日期转成毫秒   这样就可以比较了。
   
        其实就俩步骤   setTime(),getTimeInMillis();获得值(long类型)后比较大小就是了

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
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("晚于今天");
        }
}

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
这个不知道是否符合你所说的
  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.                 }
复制代码

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
比较通用的方法是setTime(dd)把日期设置为可以转化的,getTimeInMillis()把日期转成毫秒   
毫秒数据可能回表较大,要使用Long类型,就成了两个长整形之间的比较问题

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马