Flutter中如何使用intl插件设置时间

在Flutter项目中使用intl插件设置时间格式时遇到问题。我已经按照文档添加了依赖并进行了初始化,但调用DateFormat('yyyy-MM-dd').format(DateTime.now())总是报错。请问:

  1. intl插件是否需要额外配置?
  2. 如何正确设置本地化语言?
  3. 为什么默认格式无法生效?
  4. 是否有更简单的时间格式化方式?
2 回复

在Flutter中使用intl插件设置时间:

  1. 添加依赖:flutter pub add intl
  2. 导入:import 'package:intl/intl.dart';
  3. 格式化时间:
    var now = DateTime.now();
    String formatted = DateFormat('yyyy-MM-dd HH:mm').format(now);
    

支持自定义格式如:'dd/MM/yyyy''HH:mm'等。

更多关于Flutter中如何使用intl插件设置时间的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter中使用intl插件设置和格式化时间,可以按照以下步骤操作:

  1. 添加依赖
    pubspec.yaml 中添加:

    dependencies:
      flutter:
        sdk: flutter
      intl: ^0.18.1
    

    运行 flutter pub get

  2. 基本使用

    import 'package:intl/intl.dart';
    
    void main() {
      // 当前时间
      DateTime now = DateTime.now();
      
      // 格式化时间
      String formattedDate = DateFormat('yyyy-MM-dd – HH:mm').format(now);
      print(formattedDate); // 例如:2023-10-05 – 14:30
    }
    
  3. 常用模式

    • yyyy:4位数年份
    • MM:2位数月份
    • dd:2位数日期
    • HH:24小时制小时
    • mm:分钟
    • ss:秒
      示例:DateFormat('yyyy/MM/dd HH:mm:ss')
  4. 本地化
    设置区域(如中文):

    String localizedDate = DateFormat.yMMMMd('zh_CN').format(now);
    print(localizedDate); // 例如:2023年10月5日
    
  5. 解析字符串为时间

    DateTime parsedDate = DateFormat('yyyy-MM-dd').parse('2023-10-05');
    

通过intl插件,可以灵活处理时间格式化和本地化需求。

回到顶部