Jak zdobyć znacznik czasu w Dart?

88

Uczyłem się Dart, ale nie wiem, jak wygenerować znacznik czasu. Próbowałem tego:

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

Dzięki IDE udało mi się zajść tak daleko, ale otrzymuję mylący błąd:

Exception: No such method: 'Date'

Wsparcie?

Shailen Tuli
źródło

Odpowiedzi:

177

Prawie miałeś rację. Po prostu nie użyłeś nazwanego konstruktora :

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

Daje:

1351441456747

Więcej informacji można znaleźć w dokumentacji API: https://api.dart.dev/stable/2.10.1/dart-core/DateTime-class.html

Kai Sellgren
źródło
nie mogę zapisać tego bezpośrednio w mojej tabeli bazy danych !!
EngineSense,
@EngineSense tak, wystarczy podzielić wynik przez 1000, ponieważ zwykle baza danych używa znacznika czasu drugiego, podczas gdy ten znacznik czasu jest oparty na milisekundach.
Chen Li Yong
2

Microseconds jest również dostępny natywnie z Dart: (nie ma potrzeby importowania pakietów).

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

wynik:

1591457696860000

Arthur Zennig
źródło
0

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

Rajni Gujarati
źródło