oracle時間日期操作
sysdate+(5/24/60/60) 在系統時間基礎上延遲5秒
sysdate+5/24/60 在系統時間基礎上延遲5分鐘
sysdate+5/24 在系統時間基礎上延遲5小時
sysdate+5 在系統時間基礎上延遲5天
add_months(sysdate,-5) 在系統時間基礎上延遲5月
add_months(sysdate,-5*12) 在系統時間基礎上延遲5年
上月末的日期:select last_day(add_months(sysdate, -1)) from dual;
本月的最後一秒:select trunc(add_months(sysdate,1),'mm') - 1/24/60/60 from dual
本週星期一的日期:select trunc(sysdate,'day')+1 from dual
年初至今的天數:select ceil(sysdate - trunc(sysdate, 'year')) from dual;
今天是今年的第幾周 :select to_char(sysdate,'fmww') from dual
今天是本月的第幾周:select to_char(sysdate,'ww') - to_char(trunc(sysdate,'mm'),'ww') + 1 as "weekofmon" from dual
本月的天數
select to_char(last_day(sysdate),'dd') days from dual
今年的天數
select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual
下個星期一的日期
select next_day(sysdate,'monday') from dual
============================================
--計算工作日方法
create table t(s date,e date);
alter session set nls_date_format = 'yyyy-mm-dd';
insert into t values('2003-03-01','2003-03-03');
insert into t values('2003-03-02','2003-03-03');
insert into t values('2003-03-07','2003-03-08');
insert into t values('2003-03-07','2003-03-09');
insert into t values('2003-03-05','2003-03-07');
insert into t values('2003-02-01','2003-03-31');
-- 這裡假定日期都是不帶時間的,否則在所有日期前加trunc即可。
select s,e,e-s+1 total_days,
trunc((e-s+1)/7)*5 + length(replace(substr('01111100111110',to_char(s,'d'),mod(e-s+1,7)),'0','')) work_days
from t;
-- drop table t;
引此:
Oracle關於時間 日期的操作 總結
1.日期時間間隔操作 當前時間減去7分鐘的時間 select sysdate,sysdate interval 7 minute from dual 當前時間減去7小時的時間 select sysdate interval 7 hour from dual 當前時間減去7天的時間 select sy...
delphi 時間日期操作
delphi 時間日期操作 用於時間操作的函式 date函式 定義 date tdatetime 作用 返回當前的日期 範例 currentdate date dayofweek函式 定義 function dayofweek date tdatetime integer 作用 得到指定日期的星期值...
PHP時間日期操作
1 date default timezone set prc 預設時區 2 當前的時間增加5天 3 date1 2014 11 11 4echo date y m d strtotime date1 5 day 輸出結果 2014 11 16 5 相應地,要增加月,年,將day改成month或ye...