oracle得到日期對應的星期

2021-07-08 21:05:08 字數 748 閱讀 6055

詳見:

select to_char(sysdate,'ww') from dual;

select to_char(sysdate,'iw') from dual;

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、查今天是 "本月" 的第幾周  select to_char(sysdate,'ww') - to_char(trunc(sysdate,'mm'),'ww') + 1 as "weekofmon" from dual;  或  select to_char(sysdate,'w') as "weekofmon" from dual;  

b、查今天是 "今年" 的第幾周  select to_char(sysdate,'ww') from dual;  或  select to_char(sysdate,'iw') from dual;

oracle得到日期對應的星期

詳見 select to char sysdate,ww from dual select to char sysdate,iw from dual ww的演算法為每年1月1日為第一周開始,date 6為每一周結尾 例如 20050101為第一周的第一天,而第一周的最後一天為20050101 6 2...

取得日期對應的星期數

我這個方法有點小取巧,只取1900 01 01年後的資料,之前的的日期需要重新計算一下。1 先取出輸入的日期距離1900 01 01的天數 private static int getdays int year,int month,int day int month30 const int year...

已知時間日期得到星期

演算法如下 基姆拉爾森計算公式 w d 2 m 3 m 1 5 y y 4 y 100 y 400 mod 7 在公式中d表示日期中的日數,m表示月份數,y表示年數。注意 在公式中有個與其他公式不同的地方 如下 y 年,m 月,d 日期 function caculateweekday y asin...