Not sure if this is a bug or maybe something I'm misunderstanding, and I've been wondering about this for a long time, so here we go:
If I check a valid ISO-8601 formatted date using Date.Parse() with 2 as the flag, it looks like milliseconds aren't considered, and neither is the time zone, if any.
var s ='2026-09-21T15:30:01.123Z';
var date = DOpus.Create().Date();
var a = date.Parse(s,2);
DOpus.Output(a + ' : ' + date.Format('D#yyyy-MM-dd T#MHH:mm:ss'));
It also happens if I try with something like 2026-09-21T15:30:01.123Z.
I assumed it would return the date already converted to my local time zone, or am I misunderstanding how it works?
Because if it's NOT supposed to do that, I'd have to know beforehand whether the string has a time zone specified, extract that part, and convert it to a valid value for Date().Adjust()... in which case Parse() wouldn't be very useful in these cases.
