Please change the DateTime formatting to "yyyy-MM-ddTHH:mm:ssK" that serializes the timezone as well (it automatically adds Z for universal or +xx:xx for local).

Consider using TryParseExact and returning 	InvalidValueAction(value, fieldType, fieldName) like the previous value types do (I haven't looked if there's any practical difference, tbh).