Я нашел решение:
Оказывается, queryDate
был в другом формате (не уверен, что означает .859431 означает - может быть, кто-то может объяснить ...?)
По крайней мере, когда я делаю следующее, это работает:
DateTime queryDate2 = DateTime.utc(
queryDate.year,
queryDate.month,
queryDate.day,
queryDate.hour,
queryDate.minute,
queryDate.second);
Тогда мои операторы печати:
print(myDate); // DateTime type in UTC
print(queryDate); // DateTime type in .859431 format (??)
print(queryDate2); // DateTime type in UTC
print(myDate.difference(queryDate2).inHours);
print(myDate.difference(queryDate2).inMinutes);
print(myDate.difference(queryDate2).inSeconds);
И результаты печати говорят:
2019-02-01 00:18:00.000Z // myDate
2019-02-01 02:01:21.081575 // queryDate
2019-02-01 02:01:21.000Z // queryDate2
-1 // difference in hours (now correct !)
-103 // difference in minutes (now correct !)
-6201 // difference in seconds (now correct !)
Да, больше нравится :) (часы, минуты и секунды верны).
Может быть, есть другой способ изменить дату на UTC?Любая идея приветствуется.