我能得到周几!怎么计算这个周几具体的年月日呢
例如:我知道是周1
然后我取当前的系统时间是周2
我就要计算出下周2的具体年月日
如果我得到的是周3
我取当前系统时间是周2我就计算本周3
具体的年月日 主要如果是年底
我不知道怎么能计算出明年的准确日期
例如:我知道是周1
然后我取当前的系统时间是周2
我就要计算出下周2的具体年月日
如果我得到的是周3
我取当前系统时间是周2我就计算本周3
具体的年月日 主要如果是年底
我不知道怎么能计算出明年的准确日期
{
next week data;
}
else
{
this week data
}年底好办啊你看是12月底就变为1月啦 年+1 日还是从头算啊
然后当前的系统时间是周2
我就要计算出下周1的具体年月日 如果数据库里取出的是周3(weekdate)
当前系统时间是周2我就计算本周3(sysdate)
具体的年月日
就是说如果当前系统时间的周几如果比从数据库面取出来的周几大的话就推算的是下周的weekdate
然后当前的系统时间是周2
我就要计算出下周1的具体年月日 如果数据库里取出的是周3(weekdate)
当前系统时间是周2我就计算本周3(sysdate)
具体的年月日
就是说如果
当前系统时间的周几如果比从数据库面取出来的周几大的话就推算的是下周的weekdate年月日
如果
当前系统时间的周几如果比从数据库面取出来的周几小的话就推算的是本周的weekdate年月日例如
数据库里取出来的是3
我获取当前日期是星期1我就要得到该星期的星期3的具体年月日日数据库里取出来的是1
我获取当前日期是星期2
我就要取出下星期1的具体年月日
Calendar calendar = new GregorianCalendar(2006, 1, 21);
Calendar calendar1 = new GregorianCalendar();
int year = calendar.get(Calendar.YEAR);
int year1 = calendar1.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int month1 = calendar1.get(Calendar.MONTH);
int week = calendar.get(Calendar.WEEK_OF_MONTH);
int week1 = calendar1.get(Calendar.WEEK_OF_MONTH);
if (year == year1 && month == month1 && week == week1) {
if (calendar.before(calendar1)) {
calendar.add(calendar.get(Calendar.WEEK_OF_YEAR), 1);
}
int year2 = calendar.get(Calendar.YEAR);
int month2 = calendar.get(Calendar.MONTH) + 1;
int date2 = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(year2 + " " + month2 + " " + date2);
} else {
System.out.println("none");
}
}
}初学者,写得比较烂
int dbDay = 2;//monday
int currDay = c.get(Calendar.DAY_OF_WEEK);
if(dbDay >= currDay){
c.add(Calendar.DAY_OF_WEEK,dbDay-currDay);
}else{
c.add(Calendar.DAY_OF_WEEK,dbDay+7-currDay);
}
System.out.println(c.getTime());
int dbDay = 2;//monday
int currDay = c.get(Calendar.DAY_OF_WEEK);
if(dbDay >= currDay){
c.add(Calendar.DAY_OF_WEEK,dbDay-currDay);
}else{
c.add(Calendar.DAY_OF_WEEK,dbDay+7-currDay);
}
Date d = c.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
System.out.println(sdf.format(d));
System.out.println(c.getTime());
GregorianCalendar calendar1=new GregorianCalendar();
GregorianCalendar calendar2=new GregorianCalendar();
calendar1.setTime(date);
int weekday1=calendar1.get(Calendar.DAY_OF_WEEK);
int weekday2=calendar2.get(Calendar.DAY_OF_WEEK);
//考虑周日大于周一~周六
if(weekday1==1) weekday1+=7;
if(weekday2==1) weekday2+=7;
if(weekday1<weekday2){
calendar2.add(Calendar.DATE,7+weekday1-weekday2);
}else{
calendar2.add(Calendar.DATE,7);
} System.out.println("weekday1="+weekday1);
System.out.println("weekday2="+weekday2);
System.out.println("calendar2="+calendar2.getTime());
}