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?

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


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


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.