getDateFormatStr static method
时间格式化-将DateTime、String类型的数据转换为需要格式的时间字符
date
需要处理的数据
split
分隔符
splitTime
分隔符 - 时间
hasTime
是否需要时间
hasMlis
是否需要秒
Implementation
static String getDateFormatStr(
dynamic date, {
String split = '-',
String splitTime = ':',
bool onlyDate = true,
bool onlyTime = false,
bool hasMlis = false,
String? formatter,
}) {
DateTime? currentDate;
if (date is String) {
if (date.isNotEmpty) {
currentDate = tryParse(date);
}
} else if (date is DateTime) {
currentDate = date;
}
if (currentDate != null) {
String mergedFormatter = '';
if (formatter?.isNotEmpty ?? false) {
mergedFormatter = formatter!;
} else {
final List<String> formatList = [];
final List<String> baseDate = ['yyyy', split, 'MM', split, 'dd'];
final List<String> baseTime = ['HH', splitTime, 'mm'];
if (onlyTime) {
formatList.addAll(baseTime);
} else {
formatList.addAll(baseDate);
if (!onlyDate) {
// 默认分组分隔符
formatList.add(' ');
formatList.addAll(baseTime);
}
}
if (hasMlis) {
formatList.addAll([splitTime, 's']);
}
mergedFormatter = formatList.join();
}
final format = DateFormat(mergedFormatter);
return format.format(currentDate);
}
return '';
}