剖腹产大人死亡率高吗:java日期处理的问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 08:33:35
Date date=new Date();
date.setTime(System.currentTimeMillis());
int year=date.getYear();//这里为什么得到的是106????
int month=date.getMonth();
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MONTH, month);
int dayofMonth = calendar.getMaximum(Calendar.DATE);
Date eDate = new Date();
//获取当前月份每天的日期
Vector dateVector=new Vector();
for (int i = 0; i <= dayofMonth ; i++) {
eDate.setTime(sDate.getTime() + i * 24 * 3600000);
dateVector.add(dateToString(eDate));
}
//为什么显示结果为:
106-5-1
106-5-2
。。。
105-5-25(这里为什么跑到4去了?)
106-4-7
。。。
106-4-12
//完整的测试程序,那个year已经改好了,谢谢qqulijun,但是月份中的每天还是显示不正常。
import java.text.*;
import java.util.*;
public class DateTest {
Date toDay=new Date();
Vector dayOfMonthVector=new Vector();
int month,year;
public DateTest() {
toDay.setTime(System.currentTimeMillis());
year=toDay.getYear()+1900;//改好了,thx
month=toDay.getMonth();
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MONTH, month);
int dayofMonth = calendar.getMaximum(Calendar.DATE);
String sDateStr = year + "-" + (month+1) + "-" + "01";
Date sDate = stringToDate(sDateStr);
Date eDate = new Date();
for (int i = 0; i <= dayofMonth; i++) {
eDate.setTime(sDate.getTime() + i * 24 * 3600000);//next day
System.out.println(dateToString(eDate));//在运行到第25天时转为4-7 ????
}
}
}

int year=date.getYear();//这里为什么得到的是106????
你用的类型不对,不要用INT 用String

105-5-25(这里为什么跑到4去了?)
你的month有问题
把你的Main()函数发过来看看
你的循环是按照每一个月的循环 那么 106-4-7 中4 这个数是那个变量?

int year=date.getYear()+1900;
int month=date.getMonth()+1;
因为getMonth()初始值位0。