我正在尝试像这样使用 Android SimpleDateFormat
:
String _Date = "2010-09-29 08:45:22"
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = fmt.parse(_Date);
return fmt.format(date);
}
catch(ParseException pe) {
return "Date";
}
结果很好,我有:2010-09-29
但如果我将 SimpleDateFormat
更改为
SimpleDateFormat("dd-MM-yyyy");
问题是我会得到 03-03-0035 !!!!
为什么以及如何获得像 dd-MM-yyyy
这样的格式?
最佳答案
我假设您想反转日期格式?
SimpleDateFormat 可用于解析和格式化。 您只需要两种格式,一种解析字符串,另一种返回所需的打印输出:
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
Date date = fmt.parse(dateString);
SimpleDateFormat fmtOut = new SimpleDateFormat("dd-MM-yyyy");
return fmtOut.format(date);
从 Java 8 开始:
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd").withZone(ZoneOffset.UTC);
TemporalAccessor date = fmt.parse(dateString);
Instant time = Instant.from(date);
DateTimeFormatter fmtOut = DateTimeFormatter.ofPattern("dd-MM-yyyy").withZone(ZoneOffset.UTC);
return fmtOut.format(time);
关于java - Android SimpleDateFormat,如何使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9277747/