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