¿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?

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


¡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


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.