看看这段代码,给出你们的算法吧

chinese9 2004-09-09 01:13:00
从m月的d天到下月的d-1天算是一个月,取系统当前时间,若在这个时间段内,则返回年月,格式为year&month,比如当前月返回“200409”,给出你们的算法

源代码:
public String getNowMonth(int dayfrom){
String retYearAndMonth = null;
String retMonth = null;
java.util.Date date = new java.util.Date();
int day = date.getDate();
int month = date.getMonth();
int year = date.getYear()+1900;
if (day<dayfrom) {
if((month+1)<10){
retMonth = "0".concat(String.valueOf(month+1));
retYearAndMonth = String.valueOf(year).concat(retMonth);
}else{
retMonth = String.valueOf(month+1);
retYearAndMonth = String.valueOf(year).concat(retMonth);
}
}
else
{
if((month+1)<10){
retMonth = "0".concat(String.valueOf(month+2));
retYearAndMonth = String.valueOf(year).concat(retMonth);
}else{
retMonth = String.valueOf((month+2)%12);
if((month+2)%12<10){
retMonth = "0".concat(String.valueOf((month+2)%12));
}
retYearAndMonth = String.valueOf(year+(month+2)/12).concat(retMonth);
}

}
return retYearAndMonth;
}
...全文
112 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinese9 2004-09-10
  • 打赏
  • 举报
回复
我最后的算法:
public int getNowMonth(int dayfrom){
String retYearAndMonth = null;
String retMonth = null;
java.util.Date date = new java.util.Date();
int day = date.getDate();
int month = date.getMonth();
int year = date.getYear()+1900;
if (day<dayfrom) {
return year*100+month+1;
}
else
{
return (year+(month+1)/12)*100+(month+1)%12+1;
}
}
haroyy 2004-09-09
  • 打赏
  • 举报
回复
java.util.Date date = new Date();
int day = date.getDate();
int month = date.getMonth();
int year = date.getYear()+1900;
if (day<dayfrom) {
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyyMM");
retYearAndMonth = sdf.format(date);
}
else {
month+=2;
if(month>12){
year++;
month = 1;
}
retYearAndMonth = year+""+(month>9 ? ""+month : "0"+month);
baffling 2004-09-09
  • 打赏
  • 举报
回复
gz
lixiang823517 2004-09-09
  • 打赏
  • 举报
回复
Calendar ca= new GregorianCalendar();
int month= ca.get(Calendar.MONTH) + 1;
int year= ca.get(Calendar.YEAR);
String year1, month1;
for (int i= 0; i < 12; i++)
{
year1= "" + year;
month1= "" + (month - i);
if ((month - i) <= 0)
{
month1= "" + (month - i + 12);
year1= "" + (year - 1);
}

if (month1.length() == 1)

{

month1= "0" + month1;

}

String str= year1 + month1 ;
}
newsnews 2004-09-09
  • 打赏
  • 举报
回复
Calendar CurCal = Calendar.getInstance();
int CDay = CurCal.get(Calendar.DATE);
int CMonth = CurCal.get(Calendar.MONTH);
int CYear = CurCal.get(Calendar.YEAR);

象这样你一但分开了,随便你怎么用拉
takecare 2004-09-09
  • 打赏
  • 举报
回复
都发了2贴了,为什么不用Calendar!

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧