The template time calculations contain the following definitions and logic:
 
  - Definitions: 
   
    - Date - Template "Date" data type; Example: 01/01/05
 
    - Timespan - Template "Time" data type; Example: "10 years 5 months 2 week 2 days"
 
   
 
  - Supported Time Calculations: 
   
    - Date(new) - Date(old) = Timespan
 
    - Date + Timespan = Date
 
    - Timespan + Date = Date
 
    - Date - Timespan = Date
 
    - Date - Date(blank) = Timespan(blank)
 
    - Date(blank) - Date = Timespan(blank) 
     
Note: Template Time Calculations resulting in a date are rounded to the last day of a month if needed: 
      
- Date + Timespan = Date
      - Timespan + Date = Date
      - Date - Timespan = Date
      For example:
      "3/31/YYYY - 1 month" where YYYY is a year, results either to 2/28/YYYY or 2/29/YYYY if it is a leap year.
      Compounded time calculations may not calculate correctly after an operand is converted to a timespan. For example Date(today) - (Date(new) - Date(old)) = Date(today) - CalculatedTimespan = Timespan.
       
   
 
  - Supported special calculations: 
   
    - Timespan + Timespan = Timespan
 
    - Timespan - Timespan = Timespan 
     
Note: For special calculations, the following definitions are in use to account for possible leap years: 365.2425 days in a year and 30.436875 days in a month.
     
 
   
 
  - Unsupported Time Calculations: 
   
    - Date(old) - Date(new)
 
    - Date + Date
 
    - Timespan - Date