Public Sub SetDateTimeEx(ByVal iYear As Long,
                                                ByVal iMonth As Byte,
                                                ByVal iDay As Byte,
                                                ByVal iHour As Byte,
                                                ByVal iMinute As Byte,
                                                ByVal iSecond As Byte,
                                                ByVal iMilli As Long,
                                                ByVal iMicro As Long,
                                                ByVal iNano As Long)
  Property Description  
    Argument iYear sets the Year part of the date. (Valid Range -9999 to 9999)  
    Argument iMonth sets the Month part of the date. Jan = 1, Feb = 2 etc. (Valid Range = 1 to 12)  
    Argument iDay sets the Day part of the date. (Valid Range = 1 to days in month)  
    Argument iHour sets the Hours part of the date. (Valid Range = 0 to 23)  
    Argument iMinute sets the Minutes part of the date. (Valid Range = 0 to 59)  
    Argument iSecond sets the Seconds part of the date. (Valid Range = 0 to 59)  
    Argument iMilli sets the Milli-Seocnds part of the date. (Valid Range = 0 to 999)  
    Argument iMicro sets the Micro-Seocnds part of the date. (Valid Range = 0 to 999)  
    Argument iNano sets the Nano-Seocnds part of the date. (Valid Range = 0 to 9)  
    Description Populates this DateTime as type dateTime.  
    Remarks This method is overloaded allowing different values to be set.
Any values that are not provided are set to 0.
NOTE: DateTime uses the XML Schema formula for proleptic Gregorian calendar where year 0 is illegal and -4 (4BC) as a leap year.

Throws: on parsing invalid values.
Throws: if this DateTimes current type is not either zeroYear or dateTime.