*
* Description :·%Diff() Example
*
* Syntex :
*
* %Diff(Date/Time expression : Date/Time expression : unit)
*
* Function :·Return Difference between date/time given in specified unit
*==========================================================
*
D Diff S 5I 0
D Date1 S D
C
/Free
//-------------------------------------------------------
// For Date
//=======================================================
Diff = %Diff(D'2010-02-01' : D'2010-01-01' : *Days) ;
Dsply %Char(Diff) ; // 31
Diff = %Diff(D'2010-01-01' : D'2010-02-01' : *Days) ;
Dsply %Char(Diff) ; // -31
Diff = %Diff(D'2010-01-01' : D'2010-02-01' : *Months) ;
Dsply %Char(Diff) ; // -1
Diff = %Diff(D'2012-01-01' : D'2010-01-01' : *Years) ;
Dsply %Char(Diff) ; // 2
// Date - TimeStamp
Diff = %Diff(D'2010-01-01' : Z'2010-01-01-09.00.00' : *Years) ;
Dsply %Char(Diff) ; // 0
//-------------------------------------------------------
// For Time
//=======================================================
Diff = %Diff(T'10.00.00' : T'09.00.00' : *Hours) ;
Dsply %Char(Diff) ; // 1
Diff = %Diff(T'10.00.00' : T'09.00.00' : *Minutes) ;
Dsply %Char(Diff) ; // 60
Diff = %Diff(T'10.00.00' : T'09.00.00' : *Seconds) ;
Dsply %Char(Diff) ; // 3600
// Time - TimeStamp
Diff = %Diff(T'10.00.00' : Z'2010-01-01-08.00.00' : *Hours) ;
Dsply %Char(Diff) ; // 2
//-------------------------------------------------------
// For TimeStamp
//-------------------------------------------------------
Diff = %Diff(Z'2010-03-03-10.00.00.000200' :
Z'2010-03-03-10.00.00.000100' :
*MSeconds) ;
Dsply %Char(Diff) ; // 100
//-------------------------------------------------------
// %Diff as Duration
//-------------------------------------------------------
Date1 = %Date() +
%Diff(D'2012-11-11' : D'2011-10-10' : *Days) ;
Dsply Date1 ; // Some Date
/End-Free
C SetOn LR
No comments:
Post a Comment