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?

Shailen Tuli
quelle

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

Kai Sellgren
quelle
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

Arthur Zennig
quelle
0

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

Rajni Gujarati
quelle