You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中谷歌日历事件结束时间添加Duration未生效问题排查

问题解决:DateTime.add()未更新时间的原因及修复

在Flutter中,DateTime是不可变对象,调用add()方法时不会修改原变量本身,而是返回一个包含新时间的DateTime实例。你的代码只调用了add()但没有将返回值重新赋值给endTime,所以原变量的数值不会发生变化。

修正后的代码

DateTime endTime = ref.read(eventsNotifierProvider).eventDate!;
// 将add方法返回的新时间对象赋值给endTime
endTime = endTime.add(Duration(minutes: int.parse(eventDurationController.text)));

补充说明

不管是从TextField解析时长还是硬编码测试值,都必须接收add()方法返回的新对象才能更新endTime。比如初始时间为2023年12月27日15:24,调用add(Duration(minutes:30))后会生成一个新的DateTime对象(2023-12-27 15:54),只有把这个新对象赋值给endTime,变量才会更新为目标时间。

内容的提问来源于stack exchange,提问作者LostTexan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 07:54:59