FlutterでN日前やN日後のDateTime型のデータを取得する方法を紹介します。
目次
まずは現在の日時を取得
DateTime now = DateTime.now();DateTime.now() は、実行時の現在時刻を取得するDartのメソッドです。
例えば、2025年2月12日 15:30:00 に実行すると、now には 2025-02-12 15:30:00.000 という値が入ります。
N日前の日時を取得するには?
例として5日前のデータを取得する場合、次のように書きます。
int daysToSubtract = 5; // 例として5日前を計算する場合
DateTime fiveDaysAgo = now.subtract(Duration(days: daysToSubtract));現在の日時からN日前の日時を計算するには、subtract() を使用します。
subtract(Duration(days: N))は、「N日分引く」計算を行います。Duration(days: N)でN日の間隔を表します。subtract()メソッドはnowから指定したDuration分の時間を引き、過去の日付を取得します。
例(now が 2025-02-12 15:30:00 の場合)
5日前を計算すると、fiveDaysAgoは2025-02-07 15:30:00.000になります。
N日後の日時を取得するには?
例として3日後のデータを取得する場合、次のように書きます。
int daysToAdd = 3; // 例として3日後を計算する場合
DateTime threeDaysLater = now.add(Duration(days: daysToAdd));add(Duration(days: N))は、「N日分足す」計算を行います。Duration(days: N)でN日の間隔を表します。add()メソッドはnowに指定したDuration分の時間を足し、未来の日付を取得します。
例(now が 2025-02-12 15:30:00 の場合)
3日後を計算すると、threeDaysLaterは2025-02-15 15:30:00.000になります。
まとめ
| 操作 | メソッド | 説明 |
|---|---|---|
| N日前 | subtract(Duration(days: N)) | 現在の日付からN日を引く |
| N日後 | add(Duration(days: N)) | 現在の日付にN日を足す |
この方法を使えば、簡単に「N日前」「N日後」の日時を取得できます。


Comment