フラッターでは、これを使用して現在の月を取得できます
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
通常、夏時間とタイムゾーンの問題を回避するために、日付の計算を行う前にUTCに変換してからローカルの日付/時刻に戻すことをお勧めします。
Subtractメソッドを使用して、過去の月の日付を取得できます。
DateTime pastMonth = DateTime.now().subtract(Duration(days: 30));
GünterZöchbauerに加えて
var now = new DateTime.now();
String g = ('${now.year}/ ${now.month}/ ${now.day}');
print(g);