¿Cómo obtener una marca de tiempo en Dart?

88

He estado aprendiendo Dart, pero no sé cómo generar una marca de tiempo. He intentado esto:

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

Gracias al IDE pude llegar tan lejos, pero recibo un error confuso:

Exception: No such method: 'Date'

¿Ayuda?

Shailen Tuli
fuente

Respuestas:

177

Casi lo acertó. Simplemente no usó un constructor con nombre :

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

Da:

1351441456747

Consulte la documentación de la API para obtener más información: https://api.dart.dev/stable/2.10.1/dart-core/DateTime-class.html

Kai Sellgren
fuente
¡No puedo guardar esto directamente en la tabla de mi base de datos!
EngineSense
@EngineSense sí, puede, solo necesita dividir el resultado entre 1000, ya que generalmente la base de datos usa una marca de tiempo basada en un segundo, mientras que esta marca de tiempo se basa en milisegundos.
Chen Li Yong
2

Microsegundos también está disponible de forma nativa en Dart: (no es necesario importar paquetes).

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

salida:

1591457696860000

Arthur Zennig
fuente
0

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

Rajni Gujarati
fuente