If a date contains a 2 digit or 1 digit number of milliseconds an exception is thrown by CreateInteger, called by CreateDate, it can be fixed by checking for 'Z' first then calculating the length of milliseconds:
hour = CreateInteger(value, 11, 2);
min = CreateInteger(value, 14, 2);
sec = CreateInteger(value, 17, 2);
if (value[value.Length - 1] == 'Z')
utc = true;
if (value.Length > 21 && value[19] == '.')
ms = CreateInteger(value, 20, (value.Length - (utc ? 21:20)));
If a date contains a 2 digit or 1 digit number of milliseconds an exception is thrown by CreateInteger, called by CreateDate, it can be fixed by checking for 'Z' first then calculating the length of milliseconds:
Data Example:
webServiceResults.txt