欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

怎么计算一个月有多少个星期一

更新时间: 2014-01-05 02:12:31 责任编辑: Author_N1

 

【求助】如何计算一个月有多少个星期一?
如何计算一个月有多少个星期一?
--参考方法--
除以7呵呵 可以吗
--参考方法--
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';

--参考方法--
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);
}
--参考方法--
你只需把一个月的最后的一天的日期输入进去,就会告诉你这天是这个月的第几周。结果好像也就知道了
--参考方法--
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还是会返回这个日期是这个月的第几周。
--参考方法--
引用:
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,也是前一段时间写的
--参考方法--
引用:
Quote: 引用:

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';


这个好像可以用。谢谢!

+1 学习
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:12:31
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/6966/
本文WWW.DOC100.NET DOC100.NET版权所有。