dateOrDefault static method

DateTime dateOrDefault(
  1. dynamic value, {
  2. DateTime? defaultValue,
})

Returns the value as DateTime if valid, otherwise returns defaultValue or Epoch.

Implementation

static DateTime dateOrDefault(dynamic value, {DateTime? defaultValue}) {
  if (value is DateTime) return value;
  if (value is String) {
    try {
      return DateTime.parse(value);
    } catch (_) {
      return defaultValue ?? DateTime(1970);
    }
  }
  if (value is int) {
    try {
      return DateTime.fromMillisecondsSinceEpoch(value);
    } catch (_) {
      return defaultValue ?? DateTime(1970);
    }
  }
  return defaultValue ?? DateTime(1970);
}