zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

oracle查看当前日期是第几个星期的方法

Oracle日期方法 查看 当前 星期 第几个
2023-06-13 09:14:46 时间
系统当前时间是多少周,就是是今年的第几个星期
 复制代码代码如下:
   
selectto_char(sysdate,"ww"),to_char(sysdate,"iw")fromdual;
selectto_char(sysdate,"ddd")fromdual;
selectTRUNC(SYSDATE,"MM")fromdual;1)

ww的算法为每年1月1日为第一周开始,date+6为每一周结尾
例如:20050101为第一周的第一天,而第一周的最后一天为20050101+6=20050107  
公式:每周第一天:date+周*7-7  每周最后一天:date+周*7-12)

iw的算法为星期一至星期日算一周,且每年的第一个星期一为第一周,
例如:20050101为星期六,所以用iw的算法是前年的53周,而20050103之后才是第一周的开始。  
公式:每周第一天:next_day(date)+周*7-7每周最后一天:next_day(date)+周*7-13)

其它:  
A、查今天是"本月"的第几周  SELECTTO_CHAR(SYSDATE,"WW")-TO_CHAR(TRUNC(SYSDATE,"MM"),"WW")+1AS"weekOfMon"fromdual;  或  SELECTTO_CHAR(SYSDATE,"W")AS"weekOfMon"fromdual;  
B、查今天是"今年"的第几周  selectto_char(sysdate,"ww")fromdual;  或  selectto_char(sysdate,"iw")fromdual;
统计哪年哪个星期的哪一天:
复制代码代码如下:

 intyear=2011;
       intweek=1;
       CalendarcalFirstDayOfTheYear=newGregorianCalendar(year,
               Calendar.JANUARY,1);
           calFirstDayOfTheYear.add(Calendar.DATE,7*(week-1));

 
           intdayOfWeek=calFirstDayOfTheYear.get(Calendar.DAY_OF_WEEK);

 
           CalendarcalFirstDayInWeek=(Calendar)calFirstDayOfTheYear.clone();
           calFirstDayInWeek.add(Calendar.DATE,
               calFirstDayOfTheYear.getActualMinimum(Calendar.DAY_OF_WEEK)-dayOfWeek);
           DatefirstDayInWeek=calFirstDayInWeek.getTime();
           System.out.println(year+"年第"+week+"个礼拜的第一天是"+ReportDateUtil.getFromatDay().format(firstDayInWeek));

 
           CalendarcalLastDayInWeek=(Calendar)calFirstDayOfTheYear.clone();
           calLastDayInWeek.add(Calendar.DATE,
               calFirstDayOfTheYear.getActualMaximum(Calendar.DAY_OF_WEEK)-dayOfWeek);
           DatelastDayInWeek=calLastDayInWeek.getTime();
           System.out.println(year+"年第"+week+"个礼拜的最后一天是"+ReportDateUtil.getFromatDay().format(lastDayInWeek));