- 我们读取到的Json字符串时,如果没有指定改列的类型,那么日期类型将会以字符串方式显示出来,后续展示时也很难看,例如
- 2020-12-22T08:12:22
- 2020-12-22T08:12:22.12
- 2020-12-22T08:12:22.156
如果还有其他的Json格式化模式的话也差不多,所有在不清楚字符串想要表达什么意思的时候就需要对单列进行处理,为了尽量方便,写了一下函数套在所有格式化之前即可完美解决问题
static String isNull(dynamic value, {DataType dataType = DataType.String}) {
if (value == null) return '';
if (dataType != null &&
value is String &&
value != '' &&
dataType == DataType.Date) {
DateTime dateTime = DateTime.parse(value);
return getStringFromDate(dateTime);
}
if (value is String) {
String outStr = value.toString();
if (outStr.length == 19) {
if (outStr.substring(10, 11) == 'T') {
DateTime dateTime = DateTime.parse(value);
return getStringFromDate(dateTime);
}
}
if (outStr.length > 19 && outStr.length <= 23) {
if (outStr.substring(10, 11) == 'T' &&
outStr.substring(19, 20) == '.') {
DateTime dateTime = DateTime.parse(value);
return getStringFromDate(dateTime);
}
}
}
return value.toString();
}
static String getStringFromDate(DateTime dateTime) {
return formatDate(
dateTime, [yyyy, '-', mm, '-', dd, ' ', hh, ':', nn, ':', ss]);
}