如何使用intl包将短日期4-11-22转换为长日期格式
使用intl包实现短日期到指定格式的转换
直接用intl包的DateFormat类就能完成这个转换,步骤如下:
安装intl包
执行以下命令添加依赖:dart pub add intl # 如果你用Flutter,用这个: # flutter pub add intl编写转换代码
先导入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 }关键说明
- 必须匹配输入日期的格式:如果你的
4-11-22实际是「月-日-年」(即11月4日),一定要把输入格式改成MM-dd-yy,否则会解析错误。 EEEE代表完整星期名称,MMMM代表完整月份名称,dd是带前导零的日期,yyyy是4位年份,这些格式符可以根据需求调整。- intl包默认支持英文的星期和月份名称,无需额外配置locale。
- 必须匹配输入日期的格式:如果你的
内容的提问来源于stack exchange,提问作者rambo
相关产品推荐
相关产品推荐

