Flutter 在编辑模式下更改日期格式,而不是在Flatter showDatePicker()中拾取日期
我正在使用showDatePicker()在我的Flatter应用程序中选择日期。我将日期格式更改为我的要求,即dd/MM/yyyy。一切正常,但如果我单击日期选择器中的编辑笔图标并输入dd/MM/yyyy(15/10/2020)格式,则其显示的格式无效 请在这件事上帮助我。这是我的密码Flutter 在编辑模式下更改日期格式,而不是在Flatter showDatePicker()中拾取日期,flutter,datepicker,dateformatter,Flutter,Datepicker,Dateformatter,我正在使用showDatePicker()在我的Flatter应用程序中选择日期。我将日期格式更改为我的要求,即dd/MM/yyyy。一切正常,但如果我单击日期选择器中的编辑笔图标并输入dd/MM/yyyy(15/10/2020)格式,则其显示的格式无效 请在这件事上帮助我。这是我的密码 TextFormField( controller: startDateAnnuityCtl, validator: (String value) { if (value.isEmpty) {
TextFormField(
controller: startDateAnnuityCtl,
validator: (String value) {
if (value.isEmpty) {
return 'Enter Start date of annuity *';
} else {
_formObject.amrfNoAnnuityStartString = value;
}
return null;
},
onSaved: (String value) {
_formObject.amrfNoAnnuityStartString = value;
},
decoration: InputDecoration(
isDense: true, // Added this
contentPadding: EdgeInsets.all(12),
filled: true,
fillColor: Color(0xff5a9fd6).withOpacity(0.15),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Color(0xff5a9fd6).withOpacity(1.0),
),
borderRadius: BorderRadius.circular(2.0),
),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Colors.transparent,
),
borderRadius: BorderRadius.circular(1.0),
)),
onTap: () async {
formKey1.currentState.save();
DateTime date = DateTime(1900);
FocusScope.of(context).requestFocus(new FocusNode());
date = await showDatePicker(
context: context,
initialDate: DateTime.now(),
firstDate: DateTime(1900),
lastDate: DateTime(2100));
if (date != null) {
setState(() {
var dtnew =
new DateFormat('dd/MM/yyyy').format(date);
_formObject.amrfNoAnnuityStartString = dtnew;
startDateAnnuityCtl.text = _formObject.amrfNoAnnuityStartString;
});
}
},
),
在日期选择器中输入日期时,它以MM/dd/yyyy格式输入。因此,您会得到一个错误,表示格式无效。目前,我没有找到在日期选择器中更改文本字段格式的解决方案。不确定这是否是最好的方法,但我创建了自己的DefaultMaterialLocalization并更改了parseCompactDate方法的行为。注意:非常简短和/或发帖中的问题可能应该是注释。你只需要50个代表点就可以在一个问题下发表评论-你能把这个移到那里吗?