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层实现,且支持国际化。
 
        
       
             
             
            

