如果你将一个不存在或不是真实日期的值,例如:'20181364' (2018/13/64) 传递给DateTime(构造函数或解析方法),则不会抛出异常。相反,将返回计算后的DateTime。
例如: '20181364' --> 2019-03-05 00:00:00.000
如何检查给定的日期是否真实存在或有效?
我尝试使用DartPad进行解决,但没有成功,因此此处不需要Flutter doctor的输出。
如果存在某种方法可以检查给定的日期是否真实存在/有效,那将是非常好的,例如:
例如: '20181364' --> 2019-03-05 00:00:00.000
如何检查给定的日期是否真实存在或有效?
我尝试使用DartPad进行解决,但没有成功,因此此处不需要Flutter doctor的输出。
void main() {
var inputs = ['20180101', // -> 2018-01-01 00:00:00.000
'20181231', // -> 2018-12-31 00:00:00.000
'20180230', // -> 2018-03-02 00:00:00.000
'20181301', // -> 2019-01-01 00:00:00.000
'20181364'];// -> 2019-03-05 00:00:00.000
inputs.forEach((input) => print(convertToDate(input)));
}
String convertToDate(String input){
return DateTime.parse(input).toString();
}
如果存在某种方法可以检查给定的日期是否真实存在/有效,那将是非常好的,例如:
- DateTime中的一个验证函数
- 另一个库,它不使用DateTime.parse()进行验证