[英]I am trying to convert date in Dart. But I am getting a date one day before the specified date. How to solve this error and reason for this?
[英]Dart / Flutter: I am trying to convert a String to a Date but getting an Exception
在我的应用程序中,有些情况下 JSON 中的date
字段无效。 我不想显示“无效日期”,而是想显示另一个名为timestamp
的字段。 但是,此字段采用以下格式: 20200518100014
。 我想将其转换为May 18, 2020
。
我没有成功,这是我拥有的最新代码
String processDate(data) {
var timeStamp = DateFormat("MMM dd, yyyy").parse(data.timestamp.toString());
return data.date == 'Invalid date' ? timeStamp : data.date;
}
这会导致以下错误:
如何解决此问题以将日期显示为May 18, 2020
格式。
答案:
基于下面的@Lunedor 答案,我能够创建以下解决方案:
String processDate(data) {
String date = data.timestamp.toString();
String dateWithT = date.substring(0, 8) + 'T' + date.substring(8);
String dateTime = DateFormat("MMM dd, yyyy").format(DateTime.parse(dateWithT));
return data.date == 'Invalid date' ? dateTime : data.date;
}
我正在跳过 MMM 错误,请检查此答案以查看可以将哪种类型的字符串解析为时间和日期:
https://stackoverflow.com/a/60988096/12880676
而你的情况,你可以使用这个答案中的方法。 我只是复制并粘贴代码:
String date = '20180626170555';
String dateWithT = date.substring(0, 8) + 'T' + date.substring(8);
DateTime dateTime = DateTime.parse(dateWithT);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.