写了一个J2ME里操作日期的类,只有一个方法,就是给日期增加一个增量,然后算出日期

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

做的时候发现一个怪问题,在索爱模拟器T610和T630上运行正常的程序,通过蓝牙发到T628上就运行错误,奇怪~~~~谁能给我解释一下呀~~~

操作日期的类如下:

/*

* Created on 2005-1-14

*

* TODO To change the template for this generated file go to

* Window - Preferences - Java - Code Style - Code Templates

*/

package com.booolee;

import java.util.*;

/**

* @author libo

*

* TODO To change the template for this generated type comment go to

* Window - Preferences - Java - Code Style - Code Templates

*/

public class BOBO_Date {

/**

* 对日期进行增/减量操作

* @param d 日期

* @param days 增量天数

* @return Date

*/

public Date add(Date d,int days){

int Year,Month,Month2,Month_r,Day,Day2,Day_r,i;

boolean rYear;

int DayOfMonths[]={31,28,31,30,31,30,31,31,30,31,30,31};

Calendar cal;

cal=Calendar.getInstance();

cal.setTime(d);

Year=cal.get(cal.YEAR);

Month=cal.get(cal.MONTH);

Day=cal.get(cal.DAY_OF_MONTH);

Day2=Day+days;

//判断是否为闰年

if (( Year % 4 == 0 && Year % 100 != 0)||Year % 400 == 0) {

rYear=true;

}else{

rYear=false;

}

//如果是闰年,2月份就是29天否则是28天

if (rYear){

DayOfMonths[1]=29;

}else{

DayOfMonths[1]=28;

}

//跨度为几个月,请求出结果月

i=0;

while (true){

if ((Month+i)>11){

Month=1;

i=0;

Year++;

}

Day_r=Day2;

Day2=Day2-DayOfMonths[Month+i];

if (Day2<0){

Month_r=Month+i+1;

break;

}else{

i++;

}

}

cal.set(cal.YEAR,Year);

cal.set(cal.MONTH,Month);

cal.set(cal.DAY_OF_MONTH,Day_r);

return cal.getTime();

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航