求代码,给定第几月的第几周,求该周的第一天及最后一天的日期

twenty_three 2006-03-29 04:26:46
给定月份及周次,如2006年3月的第4周,求该周的第一天及最后一天的日期和星期几。
注:要求每月的1号固定为一周的开始,即使不是星期一;每月的最后一天固定为一周的周末,即使不是星期日。
请给代码!!!
...全文
307 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
twenty_three 2006-03-29
  • 打赏
  • 举报
回复
别嫌少,每人50分,我得好好看看程序,十分感谢!!!
interpb 2006-03-29
  • 打赏
  • 举报
回复
呵呵 能解决问题就行

楼主可以综合一下我们的程序

写一个好一点的

lydvqq 2006-03-29
  • 打赏
  • 举报
回复
if(week==5)用if(cal.get(Calendar.MONTH)>(month-1))替换。
不过interpb代码少些。
interpb 2006-03-29
  • 打赏
  • 举报
回复
public static Date[] getMonSun(int mon, int week) {

}

忘了注释

@return Date[]//返回Date数组,第一个是周日,第二个是周一
@param mon 月份(注意减1), week 第几周
interpb 2006-03-29
  • 打赏
  • 举报
回复
呵呵 我也写了一个
import java.util.*;

public class TestCalendar {
public static void main(String[] args) {
Date[] date = getMonSun(2,5);
for(int i = 0;i< 2; i++) {
System.out.println(date[i]);
}
}

public static Date[] getMonSun(int mon, int week) {
Date[] date = new Date[2];
Calendar ca = Calendar.getInstance();
//System.out.println(ca.getTime());
ca.set(Calendar.MONTH,mon);

// System.out.println(ca.getTime());
ca.set(Calendar.WEEK_OF_MONTH,week);
// System.out.println(ca.getTime());

int day = ca.get(Calendar.DAY_OF_WEEK);
ca.add(Calendar.DAY_OF_YEAR, 8 - day);

date[0] = ca.getTime();

ca.add(Calendar.DAY_OF_YEAR, -6);
date[1] = ca.getTime();

return date;
}
}

lydvqq 2006-03-29
  • 打赏
  • 举报
回复
package test;

import java.util.Calendar;

class test {
static void prt(int year,int month,int week){
Calendar cal = Calendar.getInstance();
cal.clear();
cal.set(Calendar.YEAR,2006);
cal.set(Calendar.MONTH,month-1);
cal.set(Calendar.WEEK_OF_MONTH,week);
int dayWeek = 7;
System.out.println("month:"+cal.get(Calendar.MONTH));
if(cal.get(Calendar.MONTH)<(month-1)){
cal.clear();
cal.set(Calendar.YEAR,2006);
cal.set(Calendar.MONTH,month-1);
dayWeek = cal.get(Calendar.DAY_OF_WEEK)+1;
System.out.println("dayWeek:"+dayWeek);

}else{
cal.set(Calendar.DAY_OF_MONTH,cal.get(Calendar.DAY_OF_MONTH)+1);

}
dayWeek --;
System.out.println("the week first:"+cal.get(Calendar.YEAR)+"-"+(cal.get(Calendar.MONTH)+1)+"-"+cal.get(Calendar.DAY_OF_MONTH)+" week"+(cal.get(Calendar.DAY_OF_WEEK)-1));

cal.set(Calendar.DAY_OF_MONTH,cal.get(Calendar.DAY_OF_MONTH)+dayWeek);
if(week==5){
cal.set(Calendar.YEAR,2006);
cal.set(Calendar.MONTH,month);
cal.set(Calendar.DAY_OF_MONTH,0);
}
System.out.println("the week last:"+cal.get(Calendar.YEAR)+"-"+(cal.get(Calendar.MONTH)+1)+"-"+cal.get(Calendar.DAY_OF_MONTH)+" week"+(cal.get(Calendar.DAY_OF_WEEK)-1));

}
public static void main(String []args){
prt(2006,5,5);
//week0:Sunday
}
}
twenty_three 2006-03-29
  • 打赏
  • 举报
回复
等待,谢谢
fashi1000 2006-03-29
  • 打赏
  • 举报
回复
好象我有一个,等我找找
twenty_three 2006-03-29
  • 打赏
  • 举报
回复
在线等,急
twenty_three 2006-03-29
  • 打赏
  • 举报
回复
不是做游戏,程序中要用到,急,跪求!
twenty_three 2006-03-29
  • 打赏
  • 举报
回复
例如,求2006年3月第一周的第一天及最后一天,结果应该是:
2006年3月1号,星期三
2006年3月5号,星期日
求2006年3月第五周的第一天及最后一天,结果应该是:
2006年3月27日,星期一
2006年3月31日,星期五
求2006年3月第二周的第一天及最后一天,结果应该是:
2006年3月6号,星期一
2006年3月12号,星期日
zuoyangguang 2006-03-29
  • 打赏
  • 举报
回复
有意义吗?
用这个玩数字游戏也太简单了阿
浪费时间

62,635

社区成员

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

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