如何在颤动中使用DateFormat选择出生日期?

Shr*_*rma 2 dart flutter

我有一个出生日期格式的字段。

我尝试了一些代码,但它显示日期和时间,但我只想要日期。

有什么完美的方法吗?

变量

String initValue="Select your Birth Date";
bool isDateSelected= false;
DateTime birthDate; // instance of DateTime
String birthDateInString;
Run Code Online (Sandbox Code Playgroud)

这里是日期时间选择器的代码。

GestureDetector(
   child: new Icon(Icons.calendar_today),
   onTap: ()async{
     final datePick= await showDatePicker(
        context: context,
        initialDate: new DateTime.now(),
        firstDate: new DateTime(1900),
        lastDate: new DateTime(2100)
       );
    if(datePick!=null && datePick!=birthDate){
      setState(() {
        birthDate=datePick; 
        isDateSelected=true;
        birthDateInString = "${birthDate.month}/${birthDate.day}/${birthDate.year}"; 
      });
     }
   }
 )
Run Code Online (Sandbox Code Playgroud)

此小部件用于显示日期

 new Text(isDateSelected ? "$birthDate":initValue),
Run Code Online (Sandbox Code Playgroud)

Cop*_*oad 5

定义一个变量。

String birthDateInString;
DateTime birthDate;
Run Code Online (Sandbox Code Playgroud)

然后在你的 onTap

birthDateInString = "${birthDate.month}/${birthDate.day}/${birthDate.year}"; // 08/14/2019
Run Code Online (Sandbox Code Playgroud)

更新:

GestureDetector(
    child: new Icon(Icons.calendar_today),
    onTap: ()async{
      final datePick= await showDatePicker(
          context: context,
          initialDate: new DateTime.now(),
          firstDate: new DateTime(1900),
          lastDate: new DateTime(2100)
      );
      if(datePick!=null && datePick!=birthDate){
        setState(() {
          birthDate=datePick;
          isDateSelected=true;
          
          // put it here
          birthDateInString = "${birthDate.month}/${birthDate.day}/${birthDate.year}"; // 08/14/2019
          
        });
      }
    }
)
Run Code Online (Sandbox Code Playgroud)