Wie bekomme ich einen Zeitstempel in Dart?


80

Ich habe Dart gelernt, weiß aber nicht, wie ich einen Zeitstempel generieren soll. Ich habe das versucht:

void main() {
  print((new Date()).millisecondsSinceEpoch);
}

Dank der IDE konnte ich so weit kommen, aber ich erhalte einen verwirrenden Fehler:

Exception: No such method: 'Date'

Hilfe?

Antworten:


157

Du hattest es fast richtig. Sie haben einfach keinen benannten Konstruktor verwendet :

void main() {
  print(DateTime.now().millisecondsSinceEpoch);
}

Gibt:

1351441456747

Weitere Informationen finden Sie in der API-Dokumentation: https://api.dart.dev/stable/2.10.1/dart-core/DateTime-class.html


Ich kann dies nicht direkt in meiner Datenbanktabelle speichern !!
EngineSense

@EngineSense Ja, Sie können, Sie müssen nur das Ergebnis durch 1000 teilen, da die Datenbank normalerweise einen zweiten Zeitstempel verwendet, während dieser Zeitstempel auf Millisekunden basiert.
Chen Li Yong

2

Mikrosekunden sind auch nativ bei Dart erhältlich: (Pakete müssen nicht importiert werden).

void main() {
  print(new DateTime.now().microsecondsSinceEpoch);
}

Ausgabe:

1591457696860000


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.