Como formatar DateTime em Flutter?

Tempo de leitura: < 1 minute

Muitas vezes pode acontecer que o usuário precise exibir o DateTime atual em um Text Widget. Dependendo do requisito do usuário, às vezes o desenvolvedor precisa exibir a data e hora conforme o requisito do cliente, como DD/MM/AAAA ou MM/DD/AAAA.

a formatação de data e hora no padrão padrão dos EUA não requer nenhum comando específico.

print(DateFormat.yMMMd().format(DateTime.now()));

Portanto, neste artigo, discutiremos como formatar DateTime no Flutter.

Como formatar DateTime em Flutter?

Dependendo do requisito do cliente, precisamos formatar DateTime. Os usuários podem dar uma olhada no pacote intl.

Este pacote fornece recursos de internacionalização e localização, incluindo tradução de mensagens, plurais e gêneros, formatação e análise de data/número e texto bidirecional.

Para usar o pacote acima, precisamos importá-lo como o abaixo:

import 'package:intl/intl.dart';

Agora precisamos atual DateTime usando o código abaixo Snippet.

DateTime now = DateTime.now();
String formattedDate = DateFormat('yyyy-MM-dd – kk:mm').format(now);

Convertendo objeto DateTime em String

String string = dateFormat.format(DateTime.now());

Convertendo String para objeto DateTime

DateTime dateTime = dateFormat.parse("2019-07-19 8:40:23");

Os usuários também podem criar uma função personalizada como a abaixo:

todayDate() {
    var now = new DateTime.now();
    var formatter = new DateFormat('dd-MM-yyyy');
    String formattedTime = DateFormat('kk:mm:a').format(now);
    String formattedDate = formatter.format(now);
    print(formattedTime);
    print(formattedDate);
  }

Assim, a Saída será a seguinte:

01:41:AM
22-10-2020

Você também pode usar essa sintaxe. Para AAAA-MM-JJ HH-MM:

var now = DateTime.now();
var month = now.month.toString().padLeft(2, '0');
var day = now.day.toString().padLeft(2, '0');
var text = '${now.year}-$month-$day ${now.hour}:${now.minute}';

Use o método String split para remover :00.000

var formatedTime = currentTime.toString().split(':')
Text(formatedTime[0])

Código para YYYY-MM-DD HH:MM: formato SS sem usar uma biblioteca

var stringList =  DateTime.now().toIso8601String().split(new RegExp(r"[T\.]"));
var formatedDate = "${stringList[0]} ${stringList[1]}";

Conclusão:

Portanto, neste artigo, vimos como formatar DateTime no Flutter.

Continue aprendendo!!! Continue Flutter!!!