toDatetime method
转换为时间
Implementation
DateTime? toDatetime({bool? isUtc, String? format}) {
// 尝试使用标准解析
DateTime? dateTime = DateTime.tryParse(this);
// 如果标准解析失败,尝试使用自定义格式解析
if (dateTime == null && format != null) {
dateTime = _parseDateTime(this, format);
} else if (dateTime == null) {
// 尝试使用预定义格式解析
for (final formatPattern in DateTimeFormatter.defaultFormats.values) {
dateTime = _parseDateTime(this, formatPattern);
if (dateTime != null) {
break;
}
}
}
// 处理时区
if (dateTime != null) {
if (isUtc == true) {
dateTime = dateTime.toUtc();
} else if (isUtc == false) {
dateTime = dateTime.toLocal();
}
}
return dateTime;
}