标题:小问题求助。
取消只看楼主
支离破碎
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:737
专家分:0
注 册:2007-1-4
 问题点数:0 回复次数:2 
小问题求助。
给定一个日期,算出这个日期所在的周是本年的第几周,同时把这个月的所有周在本年第几周算出来。。

例:今天 是2007-3-16号。

可以得到今天所在的周是本年的第11周,同时要把本月16号前,和16号的几周算出来。(注:一个月可能有4周,5周,6周三种)
2007-03-16 09:03
支离破碎
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:737
专家分:0
注 册:2007-1-4
得分:0 
这个我算出来了,要的是怎么算出本月中所有周的周数。

人生漂泊無依,有如浮萍菱花,隨水飄流,你会在我这里停留吗?
[url=http://51mynet.]http://51mynet.[/url]
2007-03-16 09:13
支离破碎
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:737
专家分:0
注 册:2007-1-4
得分:0 

已解决,用了个笨点方法,不知道有无更好的:代码如下,你打印下就知道我说的什么意思了:
[CODE]
import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;

public class A {
public static void main(String[] args) throws IOException {

List weekOfYearList = new ArrayList();

Calendar c =new GregorianCalendar();
c.setTime(new Date());
c.set(Calendar.DATE,1);
c.setFirstDayOfWeek(Calendar.MONDAY);
int returnWeekFirst=c.get(Calendar.WEEK_OF_YEAR); //get first week of year;

weekOfYearList.add(new Integer(returnWeekFirst));

int dayOfWeek=c.get(Calendar.DAY_OF_WEEK)-1; //get first day of week

int maxDayOfMonth=c.getActualMaximum(Calendar.DAY_OF_MONTH);

int nextDayOfWeek=7-dayOfWeek;
//get other week of year
for(int i=nextDayOfWeek;i<maxDayOfMonth;i=i+7){
nextDayOfWeek=nextDayOfWeek+7;
c.set(Calendar.DATE,nextDayOfWeek);
c.setFirstDayOfWeek(Calendar.MONDAY);
int returnWeekNextDayOfWeek=c.get(Calendar.WEEK_OF_YEAR);
weekOfYearList.add(new Integer(returnWeekNextDayOfWeek));
}
/** ************print***************** **/
for(int j=0;j<weekOfYearList.size();j++){
System.out.println(weekOfYearList.get(j));
}

}
}

[/CODE]


人生漂泊無依,有如浮萍菱花,隨水飄流,你会在我这里停留吗?
[url=http://51mynet.]http://51mynet.[/url]
2007-03-16 10:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-124543-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.950816 second(s), 10 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved