Flutter中如何利用系统库实现dateformat功能
在Flutter中如何利用系统自带的库来实现日期格式化功能?我看到intl包可以实现,但不想引入第三方依赖。请问dart:core或其他系统库中是否有类似DateFormat的类或方法?如果能给个简单的示例代码就更好了。
2 回复
在Flutter中,使用intl系统库实现日期格式化。首先添加依赖:intl: ^0.18.1,然后导入package:intl/intl.dart。示例代码:
String formattedDate = DateFormat('yyyy-MM-dd').format(DateTime.now());
print(formattedDate); // 输出:2023-10-05
支持自定义格式如'yyyy/MM/dd HH:mm:ss'。
更多关于Flutter中如何利用系统库实现dateformat功能的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
在Flutter中,可以使用 intl 包(官方国际化库)来实现日期格式化功能。这个包提供了强大的 DateFormat 类,支持多种预定义和自定义格式。
实现步骤:
-
添加依赖
在pubspec.yaml文件中添加:dependencies: intl: ^0.18.1运行
flutter pub get安装。 -
导入包
import 'package:intl/intl.dart'; -
使用 DateFormat
- 预定义格式(如:
DateFormat.yMd()对应 “MM/dd/yyyy”) - 自定义格式(如:
DateFormat('yyyy-MM-dd HH:mm'))
- 预定义格式(如:
示例代码:
// 获取当前时间
DateTime now = DateTime.now();
// 使用预定义格式
String formattedDate1 = DateFormat.yMd().format(now); // 输出:7/10/2023
String formattedDate2 = DateFormat.yMMMEd().format(now); // 输出:Mon, Jul 10, 2023
// 使用自定义格式
String customDate = DateFormat('yyyy-MM-dd – HH:mm').format(now); // 输出:2023-07-10 – 14:30
// 解析字符串为 DateTime
DateTime parsedDate = DateFormat('yyyy/MM/dd').parse('2023/07/10');
常用模式符号:
yyyy:4位数年份MM:2位数月份dd:2位数日期HH:24小时制小时mm:分钟ss:秒钟
注意事项:
- 可通过
DateFormat.locale指定地区(如:DateFormat.yMd('zh_CN')输出中文格式)。 - 支持复杂格式组合(如:
EEE, MMM d, yyyy对应 “Mon, Jul 10, 2023”)。
这种方法无需调用原生系统库,完全在Dart层实现,且支持国际化。

