java计算两个日期的旬差?
来源:百度知道 编辑:UC知道 时间:2024/05/23 00:36:38
虽然这个问题已经过去很长时间了,但我还是要回复一下,希望能够帮到其他人。
我目前想到的一个办法是这样的:
for (int j = 1; j <= 5; j++) {
//取得最近5个旬度的时间,从当前旬的上一旬开始往前推算
Date curDate = new Date();
int a = -1;//设置已循环的次数(因为要排除掉当前旬,所以从-1开始,否则从0开始)
if(curDate.getDate()==1 || curDate.getDate()==11 || curDate.getDate()==21){
//如果当前时间已经是1日、11日或21日,则视为已经排除掉当前旬
a++;
}
while(true){
//从当前日期开始,逐天相减,每遇到1日、11日、21日,循环次数+1(视为已计算该旬度),
curDate.setDate(curDate.getDate()-1);
if(curDate.getDate()==1 || curDate.getDate()==11 || curDate.getDate()==21){
//如果当前时间已经是1日、11日或21日,则视为已经排除掉当前旬
a++;
if(a==j){
//如果找到了目标旬度,则跳出循环
break;
}
}
}
String sdfXdStr = "";
if(curDate.getDate()==1){
sdfXdStr = "yyyy年M月上旬";
}else if(curDate.getDate()==11){
sdfXdStr = "yyyy年M月中旬";
}else if(curDate.getDate()==21){
sdfXdStr = "yyyy年M月下旬";
}
SimpleDateFormat sdf = new SimpleDateFormat(sdfXdStr);