anchor.diff:  
     ! ARGUMENTS:
     class(datetime), intent(in) :: d0
  -  type(timedelta),intent(in) :: t
  -  type(datetime)             :: d
  +  class(timedelta),intent(in) :: t
  +  type(datetime)              :: d
   
     d = d0 + (-t)
  -
  -  ! Initialize:
  -  !d = d0
  -
  -  !if(t % milliseconds /= 0)call d % addMilliseconds(-t % milliseconds)
  -  !if(t % seconds      /= 0)call d % addSeconds(-t % seconds)
  -  !if(t % minutes      /= 0)call d % addMinutes(-t % minutes)
  -  !if(t % hours        /= 0)call d % addHours(-t % hours)
  -  !if(t % days         /= 0)call d % addDays(-t % days)
   
   endfunction datetime_minus_timedelta
   !=======================================================================
  
positive.code: !=======================================================================
  
    class(datetime),intent(in) :: d0
    type(datetime),intent(in) :: d1
    type(timedelta)           :: t
  
    real(kind=real64) :: daysDiff
    integer :: days,hours,minutes,seconds,milliseconds
  
negative.code: 
    ! operator overloading procedures
    procedure,private :: datetime_plus_timedelta
    procedure,private :: datetime_minus_datetime
    procedure,private :: datetime_minus_timedelta 
    procedure,private :: eq
  