我在这里2020/07/07 09:47:54
我的 API 中有我的日期,我试图在其中解析为2020/07/07 09:47am
.我已经使用intl包尝试了以下方法,但是出现错误
DateFormat format = DateFormat('yyyy/MM/dd hh:mm').add_jm();
DateTime newDate = format.parse(date)
未处理的异常:格式异常:尝试从位置 20 处读取 2020/07/07 09:47:54
有人知道这里似乎有什么问题吗?
我认为您需要添加以下代码行:
String date = DateFormat.yMEd().add_jms().format(DateTime.now());
String dateWithT = date.substring(0, 8) + 'T' + date.substring(8);
DateTime dateTime = DateTime.parse(dateWithT);
解决方案
我找到了一种方法,我需要将字符串日期解析为 DateTime 格式,然后根据需要再次重新格式化。
DateTime dateTime = DateFormat('yyyy/MM/dd h:m').parse(date);
final DateFormat formatter = DateFormat('yyyy-MM-dd h:m a');
final String formatted = formatter.format(dateTime);
您可以尝试像这样格式化两次:
String date = '2020/07/07 09:47:54';
DateFormat myDateFormat = DateFormat('yyyy/MM/dd hh:mm');
DateTime newDate = myDateFormat.parse(date);
var myString = myDateFormat.format(newDate) + DateFormat('a').format(newDate);