詳見:
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...