問題

私はendDatestartDateの違いを得たい

int endDate = DateTime.parse("2019-01-31 09:35:00").millisecondsSinceEpoch;

int startDate = DateTime.parse("2019-01-31 09:30:00").millisecondsSinceEpoch;

それから私はdiffrernceを得る

int distance = endDate - startDate;

その後、私は距離をDateTimeに変換します

DateTime newTime = DateTime.fromMillisecondsSinceEpoch(distance);

結果

  02:05:00
 

期待される出力

 00:05:00
 

enter image description here

間違いはどこですか?

  ベストアンサー

ローカルタイムゾーンの日付/時刻の計算には間違いが生じやすい。
または 最初にUTCに変換する:

   int endDate =
      DateTime.parse("2019-01-31 09:35:00").toUtc().millisecondsSinceEpoch;
  int startDate =
      DateTime.parse("2019-01-31 09:30:00").toUtc().millisecondsSinceEpoch;
  int distance = endDate - startDate;

  DateTime newTime = DateTime.fromMillisecondsSinceEpoch(distance, isUtc: true);
  print('result: $newTime');
 

結果:1970-01-01 00:05:00.00Z

しかし、あなたの質問の下のコメントで述べたように、Durationはその目的のために良いでしょう。

  同じタグがついた質問を見る

datetimedartflutterduration