java中對時間的操作

me87re 9年前發布 | 720 次閱讀 Java

代碼演示:

//數據庫中去的日期

  Date s = list.get(0).getSdate();

  System.out.println(s);// Tue Apr 28 00:00:00 CST 2015

  //手動new

  Date d = new Date();

  System.out.println(d);// Tue Apr 28 20:53:15 CST 2015

  System.out.println("++" + s.after(d));

  //使用Calendar

  Calendar calendar = Calendar.getInstance();

  Date time = calendar.getTime();

  System.out.println(time);// Tue Apr 28 20:55:16 CST 2015

  //使用日期格式化

  SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");

  String format2 = format.format(s);

  System.out.println("format2" + format2);// 2015/04/28

  //再解析

  Date parse = format.parse(format2);

  System.out.println("parse" + parse);// Tue Apr 28 00:00:00 CST 2015

  System.out.println("???" + (s.getTime() >= parse.getTime()));// true
  //使用jodatime

  DateTime dt = new DateTime();

  System.out.println(dt);// 2015-04-28T21:00:28.780+08:00

  System.out.println(dt.toDate());// Tue Apr 28 21:00:28 CST 2015

寫了2個方法,用于處理:

1.比較2個日期大小(只比較年月日部分)
/**

  • 對2個日期進行比較,無論是從數據庫中取出的date,還是new的
  • @param d1
  • @param d2
  • @return */ private String compareDate(Date d1,Date d2){ if(d1==null || d2==null){ return "error"; } long time1 = new LocalDate(d1).toDate().getTime(); long time2 = new LocalDate(d2).toDate().getTime(); if(time1>time2){ return ">"; }else if(time1==time2){ return "=="; }else{ return "<"; } } 2.比較2個日期大小(只比較年月日部分) // 只比較年月日大小 private String compareDate(Date s, Date d) throws ParseException { SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd"); if (format.parse(format.format(s)).getTime() > format.parse( format.format(d)).getTime()) { return ">"; } else if (format.parse(format.format(s)).getTime() == format.parse( format.format(d)).getTime()) { return "=="; } else { return "<"; } }</pre>
 本文由用戶 me87re 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!