Calendar计算周的问题,请老鸟指教~!

skyboy0720 2005-12-08 10:59:26
已知条件是年份,月份,比如2005,12

然后需要得到当月的周数,以及每周第一天(不一定是星期一吧)的具体日期(
这里有个问题,如果12月1号是星期四,那么12月1号到12月4号算是12月的第一周么?


谢谢指教,查了API,不知道具体怎么用~~
...全文
174 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
eureka0891 2005-12-08
  • 打赏
  • 举报
回复
你说的是大家的习惯问题,其实你看一下windows的时间显示就知道了:
一般日历都把你这种当作这个月的第一周,所以一般月份都是5周,
Java的Calendar是每周从周日开始,没有你所说的每月的第一周是哪几天,你自己算
skyboy0720 2005-12-08
  • 打赏
  • 举报
回复
感谢回复,我知道怎么做了!
xdop 2005-12-08
  • 打赏
  • 举报
回复
代码参考以前回的一个贴
http://community.csdn.net/Expert/topic/4414/4414294.xml?temp=.7047846

不过,楼主的问题是一个业务问题,周和月不同步,不存在完整的包含与被包含关系

比如本月第一天(2005年12月1号)是周四,算不算你所说的12月第1周,
如果算得话,这一“周”只有1、2号而已

但地球人都知道1周7天,2天的集合怎么能叫做“周”呢
skyboy0720 2005-12-08
  • 打赏
  • 举报
回复
谢谢楼上的,我需求是,比如,知道年为2005,月为12
我要列出12月的周数,比如我们已经知道是5周了,那么就如下,同时括号里说明是一年的第几周
第1周() 第2周() 第3周() 第4周() 第5周 ()
然后我提交数据,就会获得
年2005,月12,周数2(假设我选择了第2周)

最后计算出一个具体日期为:2005年12月的第2周的具体日期

我想我已经说得很明白了吧!!谢谢帮忙!!!
liukang520236 2005-12-08
  • 打赏
  • 举报
回复
Calendar 没有直接计算的API,但是,提供的函数足够楼主计算了。
我是很想帮你,你也得把你的问题说清楚吧。

现在回答我能看懂的问题。
1.每周的第一天都是周日(第一周除外)
2.每周第一天的具体日期的计算方法是,先计算1号是星期几(n),(n-6)*-1就是第二周的第一
天,以后每周的第一天都在这个基础上+7,直到日期数大于 当月最大的天数(比如
31.30.29.28),需根据月数和年数确定。
3.12月1号到12月4号算是12月的第一周

62,614

社区成员

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

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