2016-04-12 16 views
2

AndroidでSimpleDateFormatの問題が発生しています。 このコードを使用:代わりに "25,1:30 12" の ":30 25187 12"android SimpleDateFormat形式が間違っていますandroid 4.x

private static final String TIME_FORMAT = "HH:mm:ss,S"; 
SimpleDateFormat timeFormat = new SimpleDateFormat(TIME_FORMAT, Locale.US); 
String time = timeFormat.format(time.getTime()); 

timeは、以下のフォーマットを有します。 4.xバージョンでのみ発生します。

+0

私の4.4デバイスで確認済みです。カンマの後の桁数をチェックし、3つがある場合は最後の2つを切り捨てる以外に、何かできることがあるかどうかはわかりません。 –

+0

これまでのところ唯一の解決策に見えます! – TheRedFox

+0

5.xで修正されたようです:https://code.google.com/p/android/issues/detail?id=78859&can=1&q=simpledateformat%20fractional&colspec=ID%20Status%20Priority%20Owner%20Summary% 20Stars%20Reporter%20Opened – assylias

答えて

0

これまでのところ私の解決策です。

String formatted = timeFormat.format(time); 
String[] splitted = formatted.split(","); 
if(splitted.length > 1) { 
    String tenth = splitted[1]; 
    if(tenth.length() > 1) { 
     tenth = tenth.substring(0,1); 
     formatted = splitted[0] + "," + tenth; 
    } 
} 
+0

私の以前のコメントには間違いがあります。あなたは本当にカウントする必要はありません、または分割する。あなたは次のようにすることができます: 'formatted = formatted.substring(0、formatted.indexOf("、 ")+ 2);' –

関連する問題