java判断时间的问题

堕落的唐僧 2014-06-24 02:23:17
读取LOG4J生成的日志文件,获得了文件中时间数组字段值。如何判断这个时间日期,如果日期是昨天,就继续执行方法,如果日期早于昨天就不执行。这个日期判断代码怎么写,求高手帮下忙。。
...全文
136 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
堕落的唐僧 2014-06-25
  • 打赏
  • 举报
回复
没人嘛。。。
堕落的唐僧 2014-06-24
  • 打赏
  • 举报
回复
有人帮忙改下吗
堕落的唐僧 2014-06-24
  • 打赏
  • 举报
回复
我还是贴代码吧 public class Dianbo { public static void main(String[] args) { // TODO Auto-generated method stub File file = null; Date date = new Date();//取时间 Calendar calendar = new GregorianCalendar(); calendar.setTime(date); calendar.add(calendar.DATE,-1); date=calendar.getTime(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); file = new File("E:\\buy.log."+sdf.format(date)); if(file.exists()){ System.out.println("1"); Map<String, Integer> map = new HashMap<String, Integer>(); try { FileReader fr = new FileReader(file);// 读取文件 @SuppressWarnings("resource") BufferedReader br = new BufferedReader(fr);// 字符输入流化 String str; while ((str = br.readLine()) != null) { String[] s = str.split(","); String[] num = new String[] { s[4] }; getStrArrayMapResult(num, map); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { printMapResult(map); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }} else{ file = new File("E:\\buy.log"); //分析当天日志 Map<String, Integer> map = new HashMap<String, Integer>(); try { FileReader fr = new FileReader(file);// 读取文件 @SuppressWarnings("resource") BufferedReader br = new BufferedReader(fr);// 字符输入流化 String str; while ((str = br.readLine()) != null) { String[] s = str.split(","); String[] num = new String[] { s[4] }; getStrArrayMapResult(num, map); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { printMapResult(map); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } private static Map<String, Integer> getStrArrayMapResult(String[] num, Map<String, Integer> map) { for (int i = 0; i < num.length; i++) { // 如果为空 说明是该键是第一次put进map String key = num[i]; if (map.get(key) == null) { map.put(key.toString(), new Integer(1)); } else { // 不为空则覆盖其键,并将其值递增加1 用以计算其出现的次数 map.put(key.toString(), map.get(key) + 1); } } return map; } private static void printMapResult(Map<String, Integer> map)throws ClassNotFoundException, SQLException { Set<String> set = map.keySet(); for (Iterator<String> it = set.iterator(); it.hasNext();) { String key = it.next(); System.out.println(key + "的个数是:" + map.get(key)); } } } 希望在这基础上,再增加日期判断,日志文件的第一列是时间s[0],
tony4geek 2014-06-24
  • 打赏
  • 举报
回复
你 得 取出 日志 的 时间 来 。 然后再处理 比较时间 。
堕落的唐僧 2014-06-24
  • 打赏
  • 举报
回复
感觉很难套用到我要执行内容啊
tony4geek 2014-06-24
  • 打赏
  • 举报
回复
2个 日期比较大小。
SimpleDateFormat sdf = new SimpleDateFormat();
		Date d	= sdf.parse("");
		d.after(when)
		d.after(when)
		d.compareTo(anotherDate)
shine333 2014-06-24
  • 打赏
  • 举报
回复
SimpleDateFormat的parse方法

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧