獲取周次的第一天的日期函式

2022-03-30 02:06:56 字數 1454 閱讀 2467

--

個查詢周的第一天日期的函式 a_week格式為 'yyyyiw' 如 '201401'表示2023年的第一周

create

orreplace

function f_week_to_date(a_week varchar2) return

char

isv_first_date

char(10); --

定義一周第一天的變數

v_date_of_week number(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;

--如果一年當中第52周別之後至當年的12月31日之間,還有大於或等於4天的話,則定為當年的第53周,

--否則剩餘這些天數被歸為下一年的第1周

if v_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;

endif;

return

v_first_date;

end;

查詢一周開始的第一天的日期

select trunc(sysdate,'d')+1 begin,sysdate from dual;

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

獲取當前周第一天和最後一天日期

function get weekend time sdate nisend true else first 1 表示每週星期一為開始日期 0表示每週日為開始日期 first 1 獲取當前周的第幾天 週日是 0 周一到週六是 1 6 w date w strtotime sdefaultdate 獲...

c 獲取某日期所在周的第一天和最後一天

csharp view plain copy using system using system.collections.generic using system.linq using system.text namespace wyfclass 得到本週第一天 以星期一為第一天 public da...

C 獲取周的第一天 最後一天 月第一天和最後一天

獲取指定日期所在周的最後一天,星期天為最後一天 public static datetime getdatetimeweeklastdaysun datetime datetime catch return lastweekday 獲取指定日期的月份第一天 public static datetim...