我想更改存储在列表中的日期格式。然后将该日期列表保存到 firebase 数据库。但是在格式化存储在 dateList 中的日期时出现错误。这是我的代码:
主活动.java
List<Date> dates = getDates(date1, date2);
ArrayList<String> dateStringList = new ArrayList<>();
ArrayList<Date> dateList = new ArrayList<Date>();
SimpleDateFormat format1 =new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
SimpleDateFormat format2 = new SimpleDateFormat("dd/MM/yyyy");
for (Date date : dates) {
String dateStr = String.valueOf(date);
dateStringList.add(dateStr);
}
for (String dateString : dateStringList) {
try {
dateList.add(format1.parse(dateString));
format2.format(dateList); ---> error here when formatting the date to format2
} catch (ParseException e) {
e.printStackTrace();
}
}
String date1 = format2.format(dateList);
dateModel data = new dateModel(dateList);
mReference.child(id).setValue(data);
日期模型
public class dateModel {
ArrayList<Date> date;
public dateModel() {}
public dateModel(ArrayList<Date> date) {
this.date = date;
}
public ArrayList<Date> getDate() {
return date;
}
public void setDate(ArrayList<Date> date) {
this.date = date;
}
}
有没有办法解决这个问题?太感谢了..
如果我理解正确,您的代码甚至无法编译。
检查您的类型。
format 方法需要一个日期,而不是一个列表,我不明白你为什么需要两种格式
List<Date> dates = getDates(date1, date2);
ArrayList<String> dateStringList = new ArrayList<>();
SimpleDateFormat fmt = new SimpleDateFormat("dd/MM/yyyy");
for (Date date : dates) {
try {
dateStringList.add(fmt.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
}
dateModel data = new dateModel(dateList);
mReference.child(id).setValue(data);
请注意,除了“视觉检查”之外,将列表保存为字符串可能不是一个好主意。在我看来,格式化日期和时间是 UI 的责任,并且date.getTime()
在某些情况下存储毫秒 ( ) 更容易查询和过滤。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句