更改日期时间格式android

时间:2014-02-10 07:30:05

标签: android datetime simpledateformat

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

 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;

}

4 个答案:

答案 0 :(得分:2)

每月使用资本M,即

 SimpleDateFormat datetime1 = new SimpleDateFormat("yyyyMMddhhmmss")

答案 1 :(得分:2)

将此行替换为SimpleDateFormat datetime1 = new SimpleDateFormat("yyyymmddhhmmss");行:SimpleDateFormat datetime1 = new SimpleDateFormat("yyyyMMddhhmmss");

答案 2 :(得分:1)

月份格式的问题。那应该是MM而不是mm

将其更改为MM

喜欢

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

和Jan / Feb / Mar一样输出

你应该使用MMM一个月。

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

详细了解Date and Time Patterns

答案 3 :(得分:0)

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