Saltar al contenido

incapaz de convertir string fecha en formato aaaaMMddHHmmss a DateTime dart

Hola, hemos encontrado la respuesta a lo que andabas buscando, deslízate y la hallarás un poco más abajo.

Solución:

DateTime.parse("string date here") aceptar algunos formateados string solamente. Consulte a continuación los ejemplos de cadenas aceptadas.

  • "2012-02-27 13:27:00"
  • "2012-02-27 13:27:00.123456789z"
  • "2012-02-27 13:27:00,123456789z"
  • "20120227 13:27:00"
  • "20120227T132700"
  • "20120227"
  • "+20120227"
  • "2012-02-27T14Z"
  • "2012-02-27T14+00:00"
  • "-123450101 00:00:00 Z": en el año -12345.
  • "2002-02-27T14:00:00-0500": Igual que "2002-02-27T19:00:00Z"

=> Cadena a DateTime

DateTime tempDate = new DateFormat("yyyy-MM-dd hh:mm:ss").parse(savedDateString);

=> Fecha y hora a la cadena

String date = DateFormat("yyyy-MM-dd hh:mm:ss").format(DateTime.now());

Enlaces de referencia:

  • Usar intl por DateFormat del paquete flutter (https://pub.dev/packages/intl)
  • DateTime.parse() => https://api.dart.dev/stable/2.7.2/dart-core/DateTime/parse.html

intl DateFormat no puede hacer frente a su entrada string ya que no tiene separadores. El conjunto string se consume como el año. Sin embargo DateTime.parse hace frente a esto (casi). Le pasa a esperar precisamente el formato que tiene (otra vez, casi).

Uno de los estilos aceptables para parse es 20120227T132700que sólo se diferencia por el T separador de fecha/hora.

Prueba esto:

String date = '20180626170555';
String dateWithT = date.substring(0, 8) + 'T' + date.substring(8);
DateTime dateTime = DateTime.parse(dateWithT);

Puede usar DateFormat para analizar un DateTime de string a un objeto

// With en_US locale by default
var newDateTimeObj = new DateFormat().add_yMd().add_Hms().parse("7/10/1996 10:07:23")
// with a defined format
var newDateTimeObj2 = new DateFormat("dd/MM/yyyy HH:mm:ss").parse("10/02/2000 15:13:09")

Consulte el documento aquí.

Valoraciones y reseñas

Al final de la web puedes encontrar las referencias de otros programadores, tú todavía puedes mostrar el tuyo si te gusta.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *