Cómo formatear fecha y hora en Flutter
Estoy intentando mostrar el actual DateTime
en un Text
widget después de tocar un botón. Lo siguiente funciona, pero me gustaría cambiar el formato.
Enfoque actual
DateTime now = DateTime.now();
currentTime = new DateTime(now.year, now.month, now.day, now.hour, now.minute);
Text('$currentTime'),
Resultado
YYYY-MM-JJ HH-MM:00.000
Pregunta
¿ Cómo puedo quitar la :00.000
pieza?
Aceptado
Puede utilizar DateFormat
desde el paquete intl .
import 'package:intl/intl.dart';
DateTime now = DateTime.now();
String formattedDate = DateFormat('yyyy-MM-dd – kk:mm').format(now);
Agregue intl
el paquete a su pubspec.yaml
archivo.
import 'package:intl/intl.dart';
DateFormat dateFormat = DateFormat("yyyy-MM-dd HH:mm:ss");
Convirtiendo el objeto DateTime a String
String string = dateFormat.format(DateTime.now());
Conversión de cadena en objeto DateTime
DateTime dateTime = dateFormat.parse("2019-07-19 8:40:23");
Con este enfoque, no es necesario importar ninguna biblioteca.
DateTime now = DateTime.now();
String convertedDateTime = "${now.year.toString()}-${now.month.toString().padLeft(2,'0')}-${now.day.toString().padLeft(2,'0')} ${now.hour.toString().padLeft(2,'0')}-${now.minute.toString().padLeft(2,'0')}";
Producción
2020-12-05 14:57