create or replace procedure output_dates
as
l_sysdate date := sysdate;
l_dbtimezone varchar2(16) := dbtimezone;
l_curdate date := current_date;
l_sessiontimezone varchar2(16) := sessiontimezone;
begin
dbms_output.PUT_LINE(
'Sysdate (' || l_dbtimezone || '): '
|| to_char(l_sysdate, 'HH24:MI')
|| ', Current_Date (' || l_sessiontimezone || '): '
|| to_char(l_curdate, 'HH24:MI')
|| ', Difference (in hours): '
|| to_char((l_curdate-l_sysdate)*24));
end;
Procedure created.
alter session set time_zone = '-6:00'
Statement processed.
call output_dates()
Statement processed.
Sysdate (+00:00): 20:06, Current_Date (-06:00): 14:06, Difference (in hours): -6
alter session set time_zone = '+2:00'
Statement processed.
call output_dates()
Statement processed.
Sysdate (+00:00): 20:06, Current_Date (+02:00): 22:06, Difference (in hours): 2