Java 日期格式加上指定月数(一个期限)得到一个新日期的实现代码

下面一段实例代码给大家介绍java日期格式加上指定月数得到一个新日期,具体代码如下所示:

public static Date getnewDate(Date olddate, String recordDate) throws ParseException {
  Date date = olddate;
  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  String data = format.format(date);
  String dataStr[] = data.split("-");
  //年份
  int  year = (Integer.parseInt(dataStr[1]) + Integer.parseInt(recordDate))/12;
  //月份
  int yue = (Integer.parseInt(dataStr[1]) + Integer.parseInt(recordDate))%12;
  String a = "";
  if(yue<10){
    if(yue<1){
      a = "12";
    }else{
      a = "0"+yue;
    }
  }else {
    a = yue+"";
  }
  dataStr[0]=String.valueOf(Integer.parseInt(dataStr[0]) + year);
  dataStr[1]=a;
  String newdata = dataStr[0]+"-"+dataStr[1]+"-"+dataStr[2];
  Date newDate = format.parse(newdata);
  return newDate;
}

下面给大家补充介绍Java中一个指定日期加上指定天数得到新日期的实现代码

package com.date.test;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 public class Test {
public static void main(String[] args) throws ParseException {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); // 日期格式
Date date = dateFormat.parse("2015-07-31"); // 指定日期
Date newDate = addDate(date, 20); // 指定日期加上20天
System.out.println(dateFormat.format(date));// 输出格式化后的日期
System.out.println(dateFormat.format(newDate));
}
public static Date addDate(Date date,long day) throws ParseException {
 long time = date.getTime(); // 得到指定日期的毫秒数
 day = day*24*60*60*1000; // 要加上的天数转换成毫秒数
 time+=day; // 相加得到新的毫秒数
 return new Date(time); // 将毫秒数转换成日期
}
 } 

您可能感兴趣的文章:

  • java计算两个日期之前的天数实例(排除节假日和周末)
  • 利用Java中Calendar计算两个日期之间的天数和周数
  • java日期操作工具类(获取指定日期、日期转换、相隔天数)
  • Java判断两个日期相差天数的方法
  • java获取日期之间天数的方法