Dart 昨日の日付を取得する

Dart 昨日の日付を取得する

Dartで、昨日の日付を取得するコードを記述してます。「DateTime.now()」で現在日時を取得後に日付を「-1」し、「DateFormat」を使ってフォーマットを指定して日付のみに変換することで可能です。

環境

  • OS windows11 home
  • Dart 2.18.4

昨日の日付を取得

昨日の日付を取得するには
1. 「pubspec.yaml」にパッケージ「intl」を追加
2. 「DateTime.now()」で現在日時を取得して日付を減算
3. 「DateFormat」で日付にのみ変換
で可能です。

まずは、「pubspec.yaml」に「intl」を追加します。

name: sample
dependencies:
  intl: ^0.17.0
environment:
  sdk: '>=2.10.0 <3.0.0'

実際に、実行してみます。

import 'package:intl/intl.dart';

void main() {
  DateFormat outputFormat = DateFormat('yyyy-MM-dd');

  DateTime today = DateTime.now();

  print(outputFormat.format(today));
  // 2022-11-30

  print(outputFormat.format(today.add(Duration(days: -1))));
  // 2022-11-29
}

実行結果を見ると、取得されていることが確認できます。

「add」ではなく「subtract」で減算することも可能です。

today.subtract(Duration(days: 1));

明日

ちなみに、明日の日付は加算することで取得可能です。

import 'package:intl/intl.dart';

void main() {
  DateFormat outputFormat = DateFormat('yyyy-MM-dd');

  DateTime today = DateTime.now();

  print(outputFormat.format(today));
  // 2022-11-30

  print(outputFormat.format(today.add(Duration(days: 1))));
  // 2022-12-01
}