JAVA另一种做日期加减法的方法(更简单)

来源:互联网 发布:edu.cn域名查询 编辑:程序博客网 时间:2024/05/02 09:00

最近发现一种更简单的日期加减运算方法:

先用int 直接运算,例如:20120728  要加5天 20120728+5=20120733;

把20120733 转换成字符串 "2012/07/33" 然后付给

java.util.Date   adate=new   Date("2012/07/33" );

adate就会变为20120802

date转换时会自动调整格式如果超过31天则会自动在月上进位
 同样超过12月年也会进位。大小月以及闰月都会自动调节

大家可以试试。

下面是我用于安卓开发的代码。

 

Date date_add(int time, int k){//time: 日期8位int ,k :要增加的天数。
  
  String s = String.valueOf(time);//转成字符串
  StringBuffer str = new StringBuffer(s);//转换成字符串变量
  String strInsert = " ";
  str.insert(4, strInsert);//在年月之间加入空格“ ”
  str.insert(7, strInsert);//在月日之间加入空格“ ”
  s = str.toString();
  String arry[] = s.split(" ");
  int nian = Integer.parseInt(arry[0]);//取出年
  int yue = Integer.parseInt(arry[1]);//取出月
  int ri = Integer.parseInt(arry[2]);//取出年
  int ri2=ri+k;//直接在日上做加法
  //最关键是下面这步。date转换时会自动调整格式如果超过31天则会自动在月上进位
  //同样超过12月年也会进位。大小月以及闰月都会自动调节
  java.util.Date   adate=new   Date( ""+nian+"/"+yue+"/"+ri2 );
  //
  return adate;

 }

另外有其它的方法共大家参考,下面的方法可能比较正中:

http://blog.csdn.net/liwenfeng1022/article/details/6534176

原创粉丝点击