Как форматировать DateTime в Flutter?

В Flutter для форматирования объекта DateTime
можно использовать пакет intl
.
Шаги для форматирования:
-
Добавьте пакет
intl
в файлpubspec.yaml
:dependencies: intl: ^0.18.0
- Импортируйте пакет:
import 'package:intl/intl.dart';
- Форматирование
DateTime
:DateTime now = DateTime.now(); String formattedDate = DateFormat('yyyy-MM-dd').format(now); // 2024-10-04 String formattedTime = DateFormat('HH:mm:ss').format(now); // 14:35:20
В пакете intl
для Flutter форматные строки позволяют указать, как именно будет выглядеть дата или время. Вот подробнее про ключевые символы:
-
Год:
y
: Например,2024
или24
.yy
: Двузначный формат года, например,24
.yyyy
: Полный год, например,2024
.
-
Месяц:
M
: Однозначные и двузначные месяцы (1-12).MM
: Всегда двузначный формат (01-12).MMM
: Сокращённое название месяца, например,Jan
.MMMM
: Полное название месяца, например,January
.
-
День:
d
: Однозначные и двузначные дни (1-31).dd
: Двузначный день (01-31).
-
Часы:
H
: Часы в 24-часовом формате (0-23).HH
: Двузначные часы (00-23).h
: Часы в 12-часовом формате (1-12).hh
: Двузначные часы в 12-часовом формате (01-12).
-
Минуты и секунды:
m
: Минуты (0-59).mm
: Двузначные минуты (00-59).s
: Секунды (0-59).ss
: Двузначные секунды (00-59).
-
AM/PM:
a
: Добавляет AM или PM, например,2:30 PM
.
Пример:
String formatted = DateFormat('dd/MM/yyyy HH:mm').format(now);
// Результат: 04/10/2024 14:35