【求助】如何计算一个月有多少个星期一?

灵雨飘零 2013-11-05 03:37:01
如何计算一个月有多少个星期一?
...全文
535 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Persistence_x 2013-11-06
  • 打赏
  • 举报
回复
引用 10 楼 kingboy2008 的回复:
[quote=引用 3 楼 xiangagou 的回复:]
SELECT COUNT(1)
FROM
  (SELECT TO_CHAR(TRUNC(SYSDATE,'mm')+ROWNUM-1,'day','NLS_DATE_LANGUAGE=American') d
  FROM DUAL
    CONNECT BY ROWNUM<=TO_NUMBER(TO_CHAR(LAST_DAY(SYSDATE),'dd'))
  )
WHERE trim(d)='monday';
这个好像可以用。谢谢![/quote] +1 学习
灵雨飘零 2013-11-05
  • 打赏
  • 举报
回复
引用 3 楼 xiangagou 的回复:
SELECT COUNT(1)
FROM
  (SELECT TO_CHAR(TRUNC(SYSDATE,'mm')+ROWNUM-1,'day','NLS_DATE_LANGUAGE=American') d
  FROM DUAL
    CONNECT BY ROWNUM<=TO_NUMBER(TO_CHAR(LAST_DAY(SYSDATE),'dd'))
  )
WHERE trim(d)='monday';
这个好像可以用。谢谢!
别闹腰不好 2013-11-05
  • 打赏
  • 举报
回复
引用 8 楼 u012463264 的回复:
CREATE OR REPLACE FUNCTION longToChar(value in number, format in varchar2) return varchar2 is Result varchar2(100); tempFormat varchar2(100); begin --'YYYY-MM-DD HH24:MI:SS' if format = '' then tempFormat := 'YYYY-MM-DD HH24:MI:SS'; else tempFormat := format; end if; select to_char((select to_date('19700101080000', 'yyyymmddhh24miss') + value / 86400 from dual), tempFormat) into Result from dual; return(Result); end longToChar; 我操没看清题目啊 以为是java呢 这个第一个参数传入某个月最后一天日期,第二个传入WW还是会返回这个日期是这个月的第几周。
这个是oracle,也是前一段时间写的
别闹腰不好 2013-11-05
  • 打赏
  • 举报
回复
CREATE OR REPLACE FUNCTION longToChar(value in number, format in varchar2) return varchar2 is Result varchar2(100); tempFormat varchar2(100); begin --'YYYY-MM-DD HH24:MI:SS' if format = '' then tempFormat := 'YYYY-MM-DD HH24:MI:SS'; else tempFormat := format; end if; select to_char((select to_date('19700101080000', 'yyyymmddhh24miss') + value / 86400 from dual), tempFormat) into Result from dual; return(Result); end longToChar; 我操没看清题目啊 以为是java呢 这个第一个参数传入某个月最后一天日期,第二个传入WW还是会返回这个日期是这个月的第几周。
灵雨飘零 2013-11-05
  • 打赏
  • 举报
回复
引用 4 楼 u012463264 的回复:
public int getWeek(String... val) { Calendar calendar = Calendar.getInstance(); DateFormat df = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()); if (val == null || val.length == 0) calendar.setTime(new Date()); else try { Date d = df.parse(val[0]); calendar.setTime(d); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } // System.out.println("是第" + calendar.get(Calendar.WEEK_OF_YEAR) + "周"); return calendar.get(Calendar.WEEK_OF_MONTH); }
你这是什么语言??
别闹腰不好 2013-11-05
  • 打赏
  • 举报
回复
前一段时间写的,纯自己写的绝非复制的
别闹腰不好 2013-11-05
  • 打赏
  • 举报
回复
你只需把一个月的最后的一天的日期输入进去,就会告诉你这天是这个月的第几周。结果好像也就知道了
别闹腰不好 2013-11-05
  • 打赏
  • 举报
回复
public int getWeek(String... val) { Calendar calendar = Calendar.getInstance(); DateFormat df = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()); if (val == null || val.length == 0) calendar.setTime(new Date()); else try { Date d = df.parse(val[0]); calendar.setTime(d); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } // System.out.println("是第" + calendar.get(Calendar.WEEK_OF_YEAR) + "周"); return calendar.get(Calendar.WEEK_OF_MONTH); }
xiangagou 2013-11-05
  • 打赏
  • 举报
回复
SELECT COUNT(1)
FROM
  (SELECT TO_CHAR(TRUNC(SYSDATE,'mm')+ROWNUM-1,'day','NLS_DATE_LANGUAGE=American') d
  FROM DUAL
    CONNECT BY ROWNUM<=TO_NUMBER(TO_CHAR(LAST_DAY(SYSDATE),'dd'))
  )
WHERE trim(d)='monday';
别闹腰不好 2013-11-05
  • 打赏
  • 举报
回复
除以7呵呵 可以吗
灵雨飘零 2013-11-05
  • 打赏
  • 举报
回复
自己占沙发!

17,382

社区成员

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

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