日期:2014-05-17  浏览次数:21060 次

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

------解决方案--------------------
除以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