Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 选择日期和输出过期日期错误导致颤振_Flutter_Flutter Layout - Fatal编程技术网

Flutter 选择日期和输出过期日期错误导致颤振

Flutter 选择日期和输出过期日期错误导致颤振,flutter,flutter-layout,Flutter,Flutter Layout,我想获得要使用的输出过期日期,但不幸的是,如果我输入31天,我得到的错误结果无法传递到下个月 代码: 我计算有效期 void initState() { super.initState(); _controller = AnimationController(vsync: this); //DATE FORMAT var date = new DateTime.now().toString(); var dateParse = DateTim

我想获得要使用的输出过期日期,但不幸的是,如果我输入31天,我得到的错误结果无法传递到下个月

代码: 我计算有效期

  void initState() {
    super.initState();
    _controller = AnimationController(vsync: this);

    //DATE FORMAT
    var date = new DateTime.now().toString();
 
    var dateParse = DateTime.parse(date);

    var formattedDate31day = "Time ${dateParse.hour}:${dateParse.minute} Date ${dateParse.day + 31}-${dateParse.month}-${dateParse.year}";
 
    setState(() {
      finalDate31Day = formattedDate31day.toString();
    });

  }
小部件输出结果:

  Widget _expirationDate(){
    if(_selectedDateVal == day['1']){
      return Text('Expiration: $finalDate31Day', style: TextStyle(fontSize: 20.0));
    }
    
    else{
      return Container();
    }
  }

我不知道将
DateTime
转换为字符串,然后将其解析回来的原因是什么,因此我将忽略以下内容:

  var date = DateTime.now().add(Duration(days: 31));
  var formattedDate31day = "Time ${date.hour}:${date.minute} Date ${date.day}-${date.month}-${date.year}";
  setState(() {
    finalDate31Day = formattedDate31day;
  });

谢谢,我现在知道转换日期时间的逻辑了。:)@SamAllen我建议您也尝试使用
DateFormatter
class,它使用起来有些困难,但会使代码更干净