2014-02-10 160 views
-1

我有这种格式的字符串“20140210084957”我想将其转换为本地格式。除了月份之外,几乎那里是不正确的,而不是FEB下面的代码给JAN,如何解决这个问题。更改日期时间格式android

String dt = valuelist[time]; 
    SimpleDateFormat datetime1 = new SimpleDateFormat("yyyymmddhhmmss"); 
    Date formatted = null; 
    try { 
     formatted =datetime1.parse(dt); 
     } catch (ParseException e) { 
     e.printStackTrace(); 
     } 
     dt=formatted.toLocaleString(); 
     //dt = formatted.toString(); 
     Log.d("DT Formatted", ""+dt); 
     valuelist[time] =dt; 

} 

回答

2

使用大写M为一个月即

SimpleDateFormat datetime1 = new SimpleDateFormat("yyyyMMddhhmmss") 
+0

nice..happy coding .. – Ranjit

1

问题到本月格式。那应该是MM而不是mm

将其更改为MM

SimpleDateFormat datetime1 = new SimpleDateFormat("yyyyMMddhhmmss"); // result for month is 01 or 02 or 03 

而对于一月/二月/三月像输出

哟应该使用MMM为一个月。

SimpleDateFormat datetime1 = new SimpleDateFormat("yyyyMMMddhhmmss"); // Result of month is Jan or Feb or Mar 

了解更多关于Date and Time Patterns

+0

您最欢迎.. :) –

2

这一行替换行SimpleDateFormat datetime1 = new SimpleDateFormat("yyyymmddhhmmss");SimpleDateFormat datetime1 = new SimpleDateFormat("yyyyMMddhhmmss");

0

另外一点需要注意:如果你写的每个图案符号小写字母而你不知道如果打印或解析AM/PM,那么格式符号h可能是错误的,因为它表示12小时制时钟,如果没有AM/PM标记,它是毫无价值的。在这种情况下,您也应该使用大写字母H,而不是m,而不是几个月。