ArrayList上的安卓 JAVA SimpleDateFormat更改日期
我正在使用适配器用“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
但是,当我使用SimpleDataFormat根据需要更改输出时,它会以某种方式将所有对象的日期设置为相同的日期(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);
for start - 01/01 10:30, for end - 11:30
正如前文提到的,所有对象都有这个日期,即使日期&;时间不同
有什么想法吗?我做错了什么? 非常感谢
# 1 楼答案
用这样的方法让事情变得简单, 使用以下方法创建一个util类:
创建静态枚举/字符串格式以实现重用。例如:
# 2 楼答案