java时间差得到年月日

来源:互联网 发布:linux渗透命令 编辑:程序博客网 时间:2024/05/21 05:57
package action;

import java.util.Calendar;
import java.util.Date;
import util.Util;
/**
 *
 * Test01
 * 创建人:Ming
 * 创建时间:2016-4-28日 -上午09:44:00
 * @version 1.0.0
 *
 */
public class Test01 {
 
 /**
  * 时间差得到 年-月-日  
  * @param curr
  * @param join
  * @return
  */
 public static String getDate(Calendar curr, Calendar join){
 
  int day = curr.get(Calendar.DAY_OF_MONTH) - join.get(Calendar.DAY_OF_MONTH);

  int month = curr.get(Calendar.MONTH) - join.get(Calendar.MONTH);

  int year = curr.get(Calendar.YEAR) - join.get(Calendar.YEAR);
  
  if (day < 0) {
   
   month -= 1;

   curr.add(Calendar.MONTH, -1);

   day = day + curr.getActualMaximum(Calendar.DAY_OF_MONTH);
  }     
  if (month < 0) {

   month = (month + 12) % 12;

   year--;
  }
  System.out.println("年龄:" + year + "年" + month + "月" + day + "天");
  
  String dateStr = year+"年"+month+"月"+day+"日";
  
  return dateStr; 
 }
 
 public static void main(String[] args) {
  
  // 当前日期
  String str = Util.getDate();
  Date date = Util.parFormat(str);
  Calendar dq = Calendar.getInstance();
  dq.setTime(date);   
   
  // 默认初始值日期
  String dd = "2015-2-12";   
  Date date2 = Util.parFormat(dd);  
  Calendar rz = Calendar.getInstance();
  rz.setTime(date2);  
  
  System.out.println(getDate(dq,rz));

 }

}

0 0
原创粉丝点击