Ausgabe
Ich habe aktuelle Zeitdaten und zukünftige Zeitdaten, die ich in nexTime
Variablen bekomme und in Datum umwandle. Ich muss die aktuelle Zeit von tempDate
(zukünftiger Zeit) subtrahieren, ich mache das mit der subtract-Methode, aber ich stoße auf ein Problem, dass das Ergebnis 1970
. Sag mir, wie kann ich die aktuelle Zeit von der zukünftigen Zeit subtrahieren, um die Differenz zu erhalten?
var timeNowMS = (DateTime.now()).millisecondsSinceEpoch;
var timenowSeconds = (timeNowMS / 1000).round();
DateTime tempDate = DateFormat("yyyy-MM-dd hh:mm").parse(
"${timeNow.year}-${timeNow.month}-${timeNow.day} ${nexTime as String}");
final Duration timeNowDuration = Duration(seconds: timenowSeconds);
final DateTime drive = tempDate.subtract(timeNowDuration);
Lösung
Es gibt eine Methode, die Duration
aus zwei Daten ein Beispiel berechnet:
DateTime date1 = /* your first date */
DateTime date2 = /* your other date */
Duration diff = date2.now().difference(date1);
Es wird eine Duration
mit der Dauer zwischen den beiden Daten generiert
DateTime
und Wenn Sie ein nach dem Hinzufügen von a Duration
zu einem früheren Datum erhalten möchten , verwenden Sie:
DateTime dateAfterAddinOneDay = DateTime.now().add(Duration(days: 1));
Da heute also der 12.10.2022 ist, ist dateAfterAddinOneDay der 13.10.2022
Beantwortet von – Gwhyyy
Antwort geprüft von – Willingham (FixError Volunteer)