Un objeto DateTime es un punto en el tiempo. La zona horaria es UTC o la zona horaria local. Se requiere un manejo preciso de fecha y hora en casi todos los contextos de datos. Dart tiene las maravillosas clases integradas DateTime y Duration en dart:core. Algunos de sus usos son:
- Compara y calcula con fechas y horas
- Obtener cada parte de una fecha y hora
- Trabajar con diferentes zonas horarias
- Medir lapsos de tiempo
Ejemplo:
Dart
void main(){ // Get the current date and time. var now = DateTime.now(); print(now); // Create a new DateTime with the local time zone. var y2k = DateTime(2000); // January 1, 2000 print(y2k); // Specify the month and day. y2k = DateTime(2000, 1, 2); // January 2, 2000 print(y2k); // Specify the date as a UTC time. y2k = DateTime.utc(2000); // 1/1/2000, UTC print(y2k); // Specify a date and time in ms since the Unix epoch. y2k = DateTime.fromMillisecondsSinceEpoch(946684800000, isUtc: true); print(y2k); // Parse an ISO 8601 date. y2k = DateTime.parse('2000-01-01T00:00:00Z'); print(y2k); }
Producción:
2020-08-25 11:58:56.257 2000-01-01 00:00:00.000 2000-01-02 00:00:00.000 2000-01-01 00:00:00.000Z 2000-01-01 00:00:00.000Z 2000-01-01 00:00:00.000Z
La propiedad millisecondsSinceEpoch de una fecha devuelve el número de milisegundos desde la «época de Unix»: 1 de enero de 1970, UTC.
Ejemplo:
Dart
void main(){ // 1/1/2000, UTC var y2k = DateTime.utc(2000); print(y2k.millisecondsSinceEpoch == 946684800000); // 1/1/1970, UTC var unixEpoch = DateTime.utc(1970); print(unixEpoch.millisecondsSinceEpoch == 0); }
Producción:
true true
La clase Duración se puede usar para calcular la diferencia entre dos fechas y para mover la fecha hacia adelante o hacia atrás.
Ejemplo:
Dart
void main(){ var y2k = DateTime.utc(2000); // Add one year. var y2001 = y2k.add(Duration(days: 366)); print(y2001.year == 2001); // Subtract 30 days. var december2000 = y2001.subtract(Duration(days: 30)); assert(december2000.year == 2000); print(december2000.month == 12); // Calculate the difference between two dates. // Returns a Duration object. var duration = y2001.difference(y2k); print(duration.inDays == 366); // y2k was a leap year. }
Producción:
true true true
Publicación traducida automáticamente
Artículo escrito por ddeevviissaavviittaa y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA