【发布时间】:2017-07-05 11:11:59
【问题描述】:
我正在使用适配器使用“ArrayList”填充“ListView”。 'ArrayList' 包含带有日期和时间的对象。 当我将数据按原样发送到 ListView 时,没有问题,列表根据需要显示相关对象:
public View getView(int position, View convertView, ViewGroup parent) {
TimePeriod freeSlot = (TimePeriod)getItem(position);
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.item, parent, false);
}
TextView start = (TextView) convertView.findViewById(R.id.start);
TextView end = (TextView) convertView.findViewById(R.id.end);
startTime = freeSlot.getStart().toString()
endTime = freeSlot.getEnd().toString();
start.setText(startTime);
end.setText(endTime);
return convertView;
}
2017-07-05T10:30:00.000Z 2017-07-05T11:30:00.000Z
但是当我使用 SimpleDateFormat 根据需要更改输出时,它会以某种方式将所有对象的日期设置为相同的日期(01/01):
startTime = freeSlot.getStart().toString();
endTime = freeSlot.getEnd().toString();
try {
SimpleDateFormat formatter = new SimpleDateFormat("YYYY-MM-dd'T'hh:mm:ss.SSS'Z'");
Date newDate = formatter.parse(startTime);
Date newDate2 = formatter.parse(endTime);
SimpleDateFormat format = new SimpleDateFormat("dd/MM hh:mm");
startTime = format.format(newDate);
SimpleDateFormat format1 = new SimpleDateFormat("hh:mm");
endTime = format1.format(newDate2);
} catch (ParseException pe) {
pe.printStackTrace();
}
start.setText(startTime);
end.setText(endTime);
开始 - 01/01 10:30,结束 - 11:30
正如前面提到的,所有对象都会得到这个日期,即使日期和时间不同。
有什么想法吗?我究竟做错了什么? 非常感谢!
【问题讨论】:
-
您的日期包含 12 或 24 小时格式?
标签: java android arraylist adapter