1. ホーム
  2. flutter

[解決済み] フラッター 2つの日付の間の日数を計算する

2023-02-04 21:45:14

質問

現在、ユーザーのプロフィールページで、生年月日などを表示させています。しかし、今日の日付とユーザーから取得した生年月日との差を計算して、誕生日の前日を見つけようと思っています。

ユーザの生年月日

で取得した本日の日付です。 intlパッケージ .

本日の日付

I/flutter ( 5557): 09-10-2018

私が今直面している問題は、これらの2つの日付の日数の差をどのように計算するかということです。

具体的な計算式やパッケージはありますか?

どのように解決するのですか?

を使用することができます。 difference メソッドが提供する DateTime クラス

 //the birthday's date
 final birthday = DateTime(1967, 10, 12);
 final date2 = DateTime.now();
 final difference = date2.difference(birthday).inDays;

アップデイト

多くの人がこの解決策にバグがあると報告してくれたので、これ以上の間違いを避けるために、@MarcG が作成した正しい解決策をここに追加しておきます。

  int daysBetween(DateTime from, DateTime to) {
     from = DateTime(from.year, from.month, from.day);
     to = DateTime(to.year, to.month, to.day);
   return (to.difference(from).inHours / 24).round();
  }

   //the birthday's date
   final birthday = DateTime(1967, 10, 12);
   final date2 = DateTime.now();
   final difference = daysBetween(birthday, date2);

これは、完全な説明のあるオリジナルの回答です。 https://stackoverflow.com/a/67679455/666221