如何使用DateFormat将日期格式化为指定的日语格式YYYY年MM月DD日?
搞定日期格式化:显示为YYYY年MM月DD日的正确方法
嘿,你之前用DateFormat('dd MMM, yyyy', 'ja')没得到想要的格式太正常啦,因为格式串和语言参数都没选对~ 给你两种靠谱的解决方式,都是基于Dart的intl包(Flutter/Dart里最常用的日期格式化工具):
直接用中文格式串(最简单)
不需要额外指定语言,直接把格式串写成你要的汉字样式就行:
import 'package:intl/intl.dart'; // 假设bDate是你的DateTime实例 String formattedDate = DateFormat('yyyy年MM月dd日').format(bDate);
这样就能输出类似2024年05月20日的结果啦。
适配多语言场景(指定中文Locale)
如果你的项目需要考虑多语言切换,但特定场景要显示中文格式,可以明确指定中文Locale:
String formattedDate = DateFormat('yyyy年MM月dd日', 'zh').format(bDate);
为啥之前的方法失效?
- 你用的
dd MMM, yyyy是“日+月份缩写+年”的格式,日语Locale下会输出类似05 5月, 2024,和你要的结构完全不一样 - 选了
ja(日语)Locale,但你要的是中文风格的“年/月/日”汉字表述,自然匹配不上
放心试试上面的代码,肯定能得到你想要的日期格式~
内容的提问来源于stack exchange,提问作者Janaka
相关产品推荐
相关产品推荐

