獲得日期的年周次並且反算回日期

2021-08-23 15:24:24 字數 1485 閱讀 3555

獲得日期的周次

select to_char(to_date('2007-05-21','yyyy-mm-dd'),'yyyyww') from dual;

select to_char(to_date('2007-05-27','yyyy-mm-dd'),'yyyyww') from dual;

結果:200721

反轉計算:

select to_date(substr('200721',0,4)||'0101','yyyymmdd')+to_number(substr('200721',5,2))*7-1 as weekfirstdate from dual;

select to_date(substr('200721',0,4)||'0101','yyyymmdd')+to_number(substr('200721',5,2))*7-1 as weekfirstdate from dual;

開發中需要用到乙個查詢周的第一天日期的函式 搜尋n久很難找到解決的方法 只要自己寫乙個先用著 **如下 a_week格式為 'yyyyiw' 如 '200801'表示2023年的第一周

周使用iw方式計算 如果一年當中第52周別之後至當年的12月31日之間,還有大於或等於4天的話,則定為當年的第53周,否則剩餘這些天數被歸為下一年的第1周

create

orreplace

function f_week_to_date(a_weekvarchar2) return

char

isv_first_datechar (10);

v_date_of_weeknumber(1);

begin

select to_char(to_date(substr(a_week,1,4)|| '0101' , 'yyyymmdd' ), 'd' )

into v_date_of_week

from dual;

v_date_of_week:=v_date_of_week-1;

ifv_date_of_week<=4then

select to_char(to_date(substr(a_week,1,4)|| '0101' , 'yyyymmdd' )+

substr(a_week,5,2)*7-7-v_date_of_week+1,

'yyyy-mm-dd' )

into v_first_date

from dual;

else

select to_char(to_date(substr(a_week,1,4)|| '0101' , 'yyyymmdd' )+

substr(a_week,5,2)*7-v_date_of_week+1,

'yyyy-mm-dd' )

into v_first_date

from dual;

end if;

return v_first_date;

end ;

獲得日期的年周次並且反算回日期

獲得日期的周次 select to char to date 2007 05 21 yyyy mm dd yyyyww from dual select to char to date 2007 05 27 yyyy mm dd yyyyww from dual 結果 200721 反轉計算 sel...

JS計算當前日期的周次

函式 function getweek z var now date.parse z now new date now now.sethours 0 now.setminutes 0 now.setseconds 0 var nowmill now.gettime var now day now.g...

php中獲得中國式的周的日期方式

php中有的時候想獲取某周的開始和結束日期,不是很方便,於是自己收拾了一套。日期轉換成中國式的周一和週日,num 1預設返回本週周一和週日的日期 0表示上週 1表示上上週 2表示下週 3表示下下週 以此類推 public static function dealdate num 1 start nu...