Например, когда now дает 14 часов вечера по стандартному времени, а timeRecordCreated дает 12 часов вечера (получено из API, который запускает время в формате UTC), diff выводит 10, что составляет 2 + 8 (время CN равно +8 utc).
final now = DateTime.now().toUtc();
var diff = now.difference(timeRecordCreated).inSeconds.toInt();
Полагаю, должно вывести 2, но 10. Почему?





Как вы создали
timeRecordCreated? Вы можете привести воспроизводимый пример? (Также вы говорите, что «разница выводит 10», но ваш код вычисляет разницу в секундах.)