Public Enum DTType
     DTType_yearZero = 0
     DTType_dateTime = 1
     DTType_date = 2
     DTType_gYearMonth = 3
     DTType_gYear = 4
     DTType_time = 5
     DTType_gDay = 6
     DTType_gMonth = 7
     DTType_gMonthDay = 8
End Enum
  XSD type Enumeration Mask Description  
    dateTime DTType_dateTime [-]CCYY-MM-DDThh:mm:ss[.ff][[Z]|[[+|-]hh:mm]] A fully qualified date and time with optional pression on seconds and optional timezone.  
    date DTType_date [-]CCYY-MM-DD[[Z]|[[+|-]hh:mm]] A fully qualified date optional timezone.  
    gDay DTType_gDay ---DD[[Z]|[[+|-]hh:mm]] A day of the month with optional timezone.  
    gMonth DTType_gMonth --MM[[Z]|[[+|-]hh:mm]] A month of the year with optional timezone.  
    gMonthDay DTType_gMonthDay --MM-DD[[Z]|[[+|-]hh:mm]] A day and month with optional timezone.  
    gYear DTType_gYear [-]CCYY[[Z]|[[+|-]hh:mm]] A year with optional timezone.  
    gYearMonth DTType_gYearMonth [-]CCYY-MM[[Z]|[[+|-]hh:mm]] A year and month with optional timezone.  
    time DTType_time hh:mm:ss[.ff][[Z]|[[+|-]hh:mm]] A fully qualified time with optional timezone.  
      DTType_yearZero <Invalid format> Unpopulated date time object - in an invalid state  

The following table indicates which fields are valid depending on the type of data held in the DateTime Class

  DateType Year Month Day Hour Minute Second Millisecond Microsecond Nanosecond  
    DTType_dateTime
 
    DTType_date
 
    DTType_gDay
 
    DTType_gMonth
 
    DTType_gMonthDay
 
    DTType_gYear
 
    DTType_gYearMonth
 
    DTType_time
 
    DTType_yearZero