根据某年某月某周得到一个具体的时间范围!

nike911 2007-09-18 11:35:49
今天碰到一个比较棘手的问题,请朋友清点一下!
根据某年某月某周得到一个具体的时间范围!
例如2007年9月第一周,是从什么时候开始,什么时候结束!
...全文
207 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
surakiy 2007-09-19
  • 打赏
  • 举报
回复
mysql> select date_sub('2007-09-01',interval dayofweek('2007-09-01')-2 day) as b
egin, date_add('2007-09-01',interval (8-dayofweek('2007-09-01')) day) as end;
+------------+------------+
| begin | end |
+------------+------------+
| 2007-08-27 | 2007-09-02 |
+------------+------------+
1 row in set (0.00 sec)
surakiy 2007-09-19
  • 打赏
  • 举报
回复
mysql> select date_sub('2007-09-18',interval dayofweek('2007-09-18')-2 day) as b
egin, date_add('2007-09-18',interval (8-dayofweek('2007-09-18')) day) as end;

+------------+------------+
| begin | end |
+------------+------------+
| 2007-09-17 | 2007-09-23 |
+------------+------------+
1 row in set (0.00 sec)

答案比较繁琐,不知道有没有更好的函数.
nike911 2007-09-19
  • 打赏
  • 举报
回复
谢谢!
forestking_xx 2007-09-18
  • 打赏
  • 举报
回复
可以用Calendar类实现,具体查下API吧
shan1119 2007-09-18
  • 打赏
  • 举报
回复
这是第二星期的,第一星期可能跨月,不知道你的要求,就自己看着该吧.
Calendar c = GregorianCalendar.getInstance();
c.set(Calendar.YEAR, 2007);
c.set(Calendar.MONTH, 9-1);
c.set(Calendar.WEEK_OF_MONTH, 2);
c.set(Calendar.DAY_OF_WEEK, 1);
System.out.println(c.getTime());
c.add(Calendar.DATE, 6);
System.out.println(c.getTime());
amazeur 2007-09-18
  • 打赏
  • 举报
回复
Calendar
joejoe1991 2007-09-18
  • 打赏
  • 举报
回复
Calendar里好像没有直接设置第几周的方法吧。
学习

81,092

社区成员

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

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