Realtime.parse constructor

Realtime.parse(
  1. DateTime dateTime
)

Implementation

factory Realtime.parse(DateTime dateTime) {
  final now = DateTime.now();
  final future = dateTime.isAfter(now);
  final diff = future ? dateTime.difference(now) : now.difference(dateTime);

  int days = diff.inDays;

  final years = days ~/ 365;
  days -= years * 365;

  final months = days ~/ 30;
  days -= months * 30;

  final weeks = days ~/ 7;
  days -= weeks * 7;

  final hours = diff.inHours % 24;
  final minutes = diff.inMinutes % 60;
  final seconds = diff.inSeconds % 60;

  return Realtime(
    future: future,
    dateTime: dateTime,
    diff: diff,
    year: years,
    month: months,
    week: weeks,
    day: days,
    hour: hours,
    minute: minutes,
    second: seconds,
  );
}