Date.init constructor

Date.init([
  1. dynamic arg1,
  2. dynamic arg2,
  3. dynamic arg3,
  4. dynamic arg4,
  5. dynamic arg5,
  6. dynamic arg6,
  7. dynamic arg7,
])

Implementation

Date.init([
  dynamic arg1,
  dynamic arg2,
  dynamic arg3,
  dynamic arg4,
  dynamic arg5,
  dynamic arg6,
  dynamic arg7,
]) {
  if (arg1 == null) {
    dateTime = DateTime.now();
  } else if (arg2 == null) {
    if (arg1 is String) {
      dateTime = DateTime.parse(arg1);
    } else if (arg1 is double) {
      dateTime = DateTime.fromMillisecondsSinceEpoch(arg1.round());
    } else {
      dateTime = DateTime.fromMillisecondsSinceEpoch(arg1);
    }
  } else {
    int year = arg1;
    int month = arg2 + 1; // JavaScript months are zero-based
    int day = arg3 != null ? arg3 : 1;
    int hour = arg4 != null ? arg4 : 0;
    int minute = arg5 != null ? arg5 : 0;
    int second = arg6 != null ? arg6 : 0;
    int millisecond = arg7 != null ? arg7 : 0;

    dateTime = DateTime(year, month, day, hour, minute, second, millisecond);
  }
}