java - Java SimpleDataFormat 无法正确显示
问题描述
我正在尝试将字符串数组转换为具有以下格式的日期数组列表 - “dd/MM/yyyy”我在下面包含了我的方法。当我打印 ArrayList 时,日期格式不正确并显示为:“Thu Mar 05 00:00:00 GMT 2020” 谁能想到为什么会这样?
private void convertDates()
{
SimpleDateFormat formatter1=new SimpleDateFormat("dd/MM/yyyy");
for (String dateString : date) {
try {
dateList.add(formatter1.parse(dateString));
} catch (ParseException e) {
e.printStackTrace();
}
}
displayDates.setText(Arrays.toString(dateList.toArray()));
}
解决方案
您有一个Date
对象列表,当您将它们格式化为字符串时,它们将使用其默认格式,无论您用于解析它们的格式如何。如果你想以这种格式显示它们,你必须明确地这样做。例如:
displayDates.setText(
dateList.stream().map(formatter1::format).collect(Collectors.joining(","));