在Flatter中,我们可以使用这个

var now = new DateTime.now();
var formatter = new DateFormat('MM');
String month = formatter.format(now);

但是如何确定最后一个月的日期呢?特别是如果当前日期是1月(01日).当我们使用操作数负(-)时,我们不能得到正确的月份,比如月份-1.

推荐答案

你可以直接使用

var prevMonth = new DateTime(date.year, date.month - 1, date.day);

使用

var date = new DateTime(2018, 1, 13);

你得到

2017-12-13

It's usually a good idea to convert to UTC and then back to local date/time before doing date calculations to avoid issues 使用 daylight saving and time zones.

Flutter相关问答推荐

为什么小部件会在其父文件中重建,但放在单独文件中时却不会重建?

为什么我需要等待重新访问Firestore数据库,即使它已经做了之前?

使用自定义控制器将项插入到ListView中时行为不正确

如何在2024年使用Ffltter将用户数据保存在云FireStore中?

FCM通知显示两次通知(&A)

Flutter BLoC et workmanager:如何创建独特的仓库初始化模式?

无法在我的Flutter 应用程序中使用GoRouter测试导航

如何将assets资源 实体类型转换为文件类型?

Flutter 文件拾取器Android SingleInstance模式它返回的文件路径为空

导航回上一页会将我带回Ffltter应用程序中的登录页面

处理 flutter/dart 模型中的空值

在允许屏幕 Select 和点击的同时保持通用对话框显示

使用 Play Integrity API 时,Firebase 电话身份验证问题缺少客户端标识符错误

Flutter 判断 Uint8List 是否有效 Image

Flutter - 我需要显示文本,但应用程序不需要

是否有可能减少代码的编写,例如:ref.read(countProvider.notifier) - 在构建方法中?

底部工作表顶部的一块 Flutter

无法在 flutter 中更新 void 方法内的变量值

Flutter 活跃的互联网连接

一个或多个插件需要更高的 Android SDK 版本