如何解决在区域设置中使用DateFormat会导致FormatException:尝试从2020-08-07 15:00的位置0读取yyyy
当我将语言环境用作DateFormat
(即'ar'
语言环境时,可以在抖动中使用RTL
。这是我的代码:
String finalDatetime = '$dateString $timeString';
DateTime tempDate = new DateFormat("yyyy-MM-dd hh:mm").parse(finalDatetime);
String formattedDate = Intl.getCurrentLocale() == 'en' ? DateFormat('dd-MM-yyyy – hh:mm').format(tempDate)
:DateFormat.yMMMd('ar').format(tempDate);
此行出现错误:
DateTime tempDate = new DateFormat("yyyy-MM-dd hh:mm").parse(finalDatetime);
错误
FormatException: Trying to read yyyy from 2020-08-07 15:00 at position 0
注释
- 将语言环境设置为
'en'
时,它可以完美工作
- 正在从数据库中获取日期字符串,该数据库始终以
2020-08-07 15:00
的形式发送
解决方法
Jamesdlin
在他的评论中提到,使用Intl.withLocale
解决了问题
DateTime tempDate =Intl.withLocale('en',() => new DateFormat("yyyy-MM-dd hh:mm").parse(finalDatetime));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。