我的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
答案 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