Flutter 在dart中减去返回3位数日的月份(例如:347/12/2019)
如果我试图使用上面提到的代码获取上个月的日期,我得到的是类似于347/12/2019的日期,而不是13/12/2019Flutter 在dart中减去返回3位数日的月份(例如:347/12/2019),flutter,dart,Flutter,Dart,如果我试图使用上面提到的代码获取上个月的日期,我得到的是类似于347/12/2019的日期,而不是13/12/2019 DateTime _startDate = DateTime.now(); DateTime _endDate = DateTime.now().add(Duration(days: 7)); DateTime Date=DateTime.now(); Future datePicker(BuildContext context) async { f
DateTime _startDate = DateTime.now();
DateTime _endDate = DateTime.now().add(Duration(days: 7));
DateTime Date=DateTime.now();
Future datePicker(BuildContext context) async {
final List<DateTime> picked = await DateRagePicker.showDatePicker(
context: context,
initialFirstDate: _startDate,
initialLastDate: _endDate,
firstDate: new DateTime(DateTime.now().year - 50),
lastDate: new DateTime(DateTime.now().year + 50),
);
if (picked != null && picked.length == 2) {
setState(() {
_startDate = picked[0];
_endDate = picked[1];
});
}
}
如果您想做的是在今天的月份之前获得一个月的时间,那么这很好
DateTime now=DateTime.now();
DateTime pastMonthFromNow=日期时间(now.year,now.month-1,now.day);
打印(从现在开始);
您已经完成了所有正确的操作,但是需要在
setState()
中进行一些小的调整。按如下所示更换设置状态
setState(() {
_startDate=new DateTime(_startDate.year, _startDate.month - 1, _startDate.day);
_endDate=DateTime.now();
Navigator.pop(context);
});
检查此处的要点这是否回答了您的问题@Gokul Sundaramoorthy,你到底想做什么?@AdamStrauss yes尝试过这种方法,对于这种方法,我也得到了同样的结果output@sudo_kaizen我正在使用DateRangePicker,在这个屏幕中,我被放置了一个选项来选择最近30天的数据,为此,我正在使用提到的代码检索startingDate;DateTime _startDate=新的日期时间(date.year,date.month-1,date.day)代码>工作正常。请在这里提供您的完整代码,以便了解问题。您是否获得相同的3位数日期?上面的代码片段可以正常工作。请检查这里的要点:是的,我仍然得到3位数的日期,在控制台中它返回正确的日期,如果我在任何小部件中显示该值,我得到3位数date@GokulSundaramoorthy可能是因为在命名变量时不遵循dart惯例,而是使用大写而不是小写。只是saying@FederickJonathan我认为这可能不是问题?@GokulSundaramoorthy分享你使用过的插件
setState(() {
_startDate=new DateTime(_startDate.year, _startDate.month - 1, _startDate.day);
_endDate=DateTime.now();
Navigator.pop(context);
});