【发布时间】:2020-09-08 20:14:52
【问题描述】:
在我的应用中,在某些情况下,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;
}
【问题讨论】:
-
你犯了一个小错误..应该是..
String processDate(data) { return data.date == 'Invalid date' ? DateFormat("mm, dd, yyyy").parse(data.timestamp.toString()) : data.date; }..你给了MMM而不是mm..希望它能解决你的问题..不确定它是否有效..试一试.. -
感谢您的反馈。我仍然收到错误:FormatException: Trying to read from 20200518100014 at position 15