flutter - 如何在颤动中将日期字符串转换为日期时间格式
问题描述
我有一个这种格式的字符串 03/11/2021,如何将其转换为 DateTime 格式。我使用 showDate Picker 来获取 DOB,我面临的问题是 initialDate 如果 _dob.text.isNotEmpty 那么我希望 showDatePicker 显示 _dob 日期,但它不起作用
TextEditingController _dob = TextEditingController();
@override
void initState() {
_dob.text = ""; //set the initial value of text field
super.initState();
}
TextFormField(
controller: _dob,
readOnly: true,
onTap: () async {
DateTime? pickedDate = await showDatePicker(
context: context,
initialDate: _dob.text.isNotEmpty? DateTime.parse(_dob.text):DateTime.now(),
firstDate: DateTime(1975),
lastDate: DateTime.now()
);
if (pickedDate != null) {
String formattedDate =
DateFormat('dd/MM/yyyy').format(pickedDate);
setState(() {
_dob.text = formattedDate;
});
}
},
),
解决方案
您可以尝试使用:DateTime.parse("your date string");
如果您想要一些更复杂的解析,请尝试在此处使用“intl”包,它是https://pub.dev/packages/intl
推荐阅读
- cakephp - CakePHP 1.3 迁移到 4.x
- flutter - 使用 3D 安全/sca(卡身份验证)在服务器上完成 Stripe 支付
- swift - Swift:从完成处理程序中获取价值
- r - 根据一列用 CI 画三条线
- python - python:等到一个函数完成
- python - 在列名中搜索字符串并返回整个列
- spring - Kubernetes/Spring Boot 中的服务发现
- javascript - 如何使用三元运算符根据使用javascript的值将变量设置为true或false?
- c++ - 使用 WinForms 在 C++ 中的 VLC 插件中的有效 MRL 地址?
- mediapipe - mediapipe修改人脸地标子图问题