解析日期android 0-24与12:00

时间:2016-09-14 13:45:07

标签: android date-format simpledateformat

我的mySqldb中有一个字符串:2016-09-14 12:00:00,在我的应用程序中,我想得到的时间只有12:00,但使用0-24h。 示例:

input > 2016-09-14 12:00:00 output > 12:00:00
input > 2016-09-14 14:00:00 output > 14:00:00
input > 2016-09-14 08:00:00 output > 08:00:00

所以我尝试了

DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
DateFormat outputFormat = new SimpleDateFormat("hh:mm:ss");

但返回

output > 12:00
output > 02:00
output > 08:00

所以没有14:00 我试过

DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
DateFormat outputFormat = new SimpleDateFormat("kk:mm:ss");

但返回

output > 24:00
output > 14:00
output > 08:00

所以24:00而不是12:00

还有:

DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
DateFormat outputFormat = new SimpleDateFormat("HH:mm:ss");

但返回

output > 00:00
output > 14:00
output > 08:00 

所以00:00代替12:00

如何输出

12:00
14:00
08:00

1 个答案:

答案 0 :(得分:2)

更改

DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

您的输入是24小时格式,而不是12小时格式。

输出应为:

DateFormat outputFormat = new SimpleDateFormat("HH:mm:ss");

https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html