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