2016-09-14 3 views
2

私のmySqldbに文字列があります:2016-09-14 12:00:00、そして私のアプリケーションでは12時00分になりますが、 24時間。 例:Parse Date android 0-24 with 12:00

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("kk:mm:ss"); 

が、復帰してみましたので、私は

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

と試みたが、午後2時 なしでそう

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

を返します

24:00との代わりに12時00分

も付きそう

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

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

ではなく、午前12時

午前0時00分にそう

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

を返します

どうすれば出力できますか

12:00 
14:00 
08:00 
+0

は、私は本当にあなたの目標は –

+0

が、私はそう私のデシベルであれば、DBからの日付が、時間0-24を解析するのTextViewでのsetText時間をしたいです何を持っていないん私は14/09/2016 12:00:00を設定しています。テキストを12:00に設定しましたが、14/09/2016 14:00:00にテキストを14:00に設定し、14/09/2016 08:00:00に設定した場合テキストを08:00 – LorenzoBerti

+0

に設定してください。テキスト "0-24"を含むタイトルについては、特別な時間24:00(終日の深夜)は、SimpleDateFormat-APIで印刷または解析することはできません。 –

答えて

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

+0

ありがとう!あなたは正しかった、入力でhhの代わりにHHで私は100年後に気づいたことがないだろう:D !! – LorenzoBerti