Разница между датой и временем в неделях, месяцах и годах - PullRequest
0 голосов
/ 14 октября 2019

Я работал над проектом и хотел добавить разницу в DateTime с точки зрения минут, часов, дней, недель, месяцев и лет. Я смог добраться от нескольких минут до нескольких дней. например,

DateTime.now().difference(DateTime(2019, 10, 7)).inDays

Но мне было трудно создавать его неделями, месяцами и годами. Как я могу это сделать, пожалуйста, помогите

1 Ответ

0 голосов
/ 02 ноября 2019

Существует очень простой и легкий способ сделать это, требующий очень мало арифметических знаний о дате / времени.

Просто сравните оба значения микросекунды DateTimesSinceEpoch:

Duration compare(DateTime x, DateTime y) {
   return Duration(microseconds: (x.microsecondsSinceEpoch - y.microsecondsSinceEpoch).abs())
}

DateTime x = DateTime.now()
DateTime y = DateTime(1994, 11, 1, 6, 55, 34);

Duration diff = compare(x,y);

print(diff.inDays);
print(diff.inHours);
print(diff.inMinutes);
print(diff.inSeconds);

Кодвыше работает, и работает намного эффективнее, чем проведение проверок високосных лет и отклонений, основанных на времени, аномалий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...