You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用intl包将短日期4-11-22转换为长日期格式

使用intl包实现短日期到指定格式的转换

直接用intl包的DateFormat类就能完成这个转换,步骤如下:

  1. 安装intl包
    执行以下命令添加依赖:

    dart pub add intl
    # 如果你用Flutter,用这个:
    # flutter pub add intl
    
  2. 编写转换代码
    先导入intl包,然后实现解析和格式化逻辑:

    import 'package:intl/intl.dart';
    
    String convertShortDate(String shortDate) {
      // 解析输入的短日期,这里假设格式是「日-月-年」(dd-MM-yy)
      // 如果你的输入是「月-日-年」,就把格式字符串改成'MM-dd-yy'
      final inputFormatter = DateFormat('dd-MM-yy');
      final date = inputFormatter.parse(shortDate);
    
      // 格式化为目标样式:Friday, 04 November 2022
      final outputFormatter = DateFormat('EEEE, dd MMMM yyyy');
      return outputFormatter.format(date);
    }
    
    // 测试示例
    void main() {
      print(convertShortDate('4-11-22')); // 输出: Friday, 04 November 2022
    }
    
  3. 关键说明

    • 必须匹配输入日期的格式:如果你的4-11-22实际是「月-日-年」(即11月4日),一定要把输入格式改成MM-dd-yy,否则会解析错误。
    • EEEE代表完整星期名称,MMMM代表完整月份名称,dd是带前导零的日期,yyyy是4位年份,这些格式符可以根据需求调整。
    • intl包默认支持英文的星期和月份名称,无需额外配置locale。

内容的提问来源于stack exchange,提问作者rambo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 13:35:44