Flutter DateTimeField日期选择器月份显示为00问题求助
问题解决:出生日期选择后月份显示为00的问题
问题出在日期格式字符串的写法上:你用了DateFormat("dd-mm-yyyy"),其中小写的mm代表的是分钟,而非月份,所以月份位置始终显示00(日期选择器返回的DateTime对象分钟值为0)。
只需要把格式字符串里的mm改成大写的MM(大写MM才代表月份)即可解决问题,修正后的代码如下:
final birthDateField = DateTimeField( controller: dateController, format: DateFormat("dd-MM-yyyy"), // 这里把mm改成MM onShowPicker: (context, currentValue) async { final date = await showDatePicker( context: context, initialDate: currentValue ?? DateTime.now(), firstDate: DateTime(1920), lastDate: DateTime(2030)); return date; }, decoration: InputDecoration( border: OutlineInputBorder( borderRadius: BorderRadius.circular(10), ), labelText: 'تاريخ الميلاد', prefixIcon: Icon(Icons.calendar_month), ), );
这样修改后,选择的月份就能正确显示了,比如选择15-October-1996会显示为15-10-1996。
内容的提问来源于stack exchange,提问作者editix
相关产品推荐
相关产品推荐

