flutter如何格式化日期

在Flutter中如何将日期格式化为指定的字符串形式?比如将DateTime对象转换为"yyyy-MM-dd"或"HH:mm:ss"这样的格式?有没有内置的方法或者需要引入第三方库?最好能提供简单的代码示例说明如何使用。

2 回复

在Flutter中,使用 intl 包格式化日期。首先引入包,然后使用 DateFormat 类:

import 'package:intl/intl.dart';

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

例如,2023-10-05

更多关于flutter如何格式化日期的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter中,可以使用 intl 包来格式化日期。

安装依赖

pubspec.yaml 中添加:

dependencies:
  intl: ^0.18.1

然后运行 flutter pub get

基本使用方法

1. 导入包

import 'package:intl/intl.dart';

2. 常用格式化示例

// 当前日期
DateTime now = DateTime.now();

// 格式化为 yyyy-MM-dd
String formattedDate1 = DateFormat('yyyy-MM-dd').format(now);
// 输出:2024-01-15

// 格式化为 yyyy年MM月dd日
String formattedDate2 = DateFormat('yyyy年MM月dd日').format(now);
// 输出:2024年01月15日

// 格式化为完整日期时间
String formattedDate3 = DateFormat('yyyy-MM-dd HH:mm:ss').format(now);
// 输出:2024-01-15 14:30:25

// 格式化为星期几
String formattedDate4 = DateFormat('EEEE').format(now);
// 输出:星期一

3. 预定义格式

// 短日期格式
String shortDate = DateFormat.yMd().format(now);
// 输出:1/15/2024

// 长日期格式
String longDate = DateFormat.yMMMMd('zh_CN').format(now);
// 输出:2024年1月15日

// 完整日期时间
String fullDateTime = DateFormat.yMMMMEEEEd().format(now);
// 输出:2024年1月15日星期一

4. 解析字符串为日期

String dateString = "2024-01-15";
DateTime parsedDate = DateFormat('yyyy-MM-dd').parse(dateString);

常用格式符号

  • yyyy:4位年份
  • MM:2位月份
  • dd:2位日期
  • HH:24小时制小时
  • mm:分钟
  • ss:秒
  • EEEE:星期几全称

使用 intl 包可以轻松实现各种日期格式需求。

回到顶部