SimpleDateFormate日期转换遇到的问题

在将文件名的时间字符串转换成时间戳的时候,出现了一些问题。我的写法如下:
SimpleDateFormat sdf=new SimpleDateFormat("yyyymmdd");
try {
    Date date=sdf.parse(editText.getText().toString().trim());
    date.getTime();
} catch (ParseException e) {
    e.printStackTrace();
}

我输入20150812的时候,出来时间戳是1420992480000。去掉最后面的3个0之后,将其放到网上在线工具验证

https://tool.lu/timestamp/

SimpleDateFormate日期转换遇到的问题

发现08变成01了。

 

发现问题,直接找到SimpleDateFormat的api查看https://www.android-doc.com/reference/java/text/SimpleDateFormat.html。发现它上面定义的如图

SimpleDateFormate日期转换遇到的问题

发现是mm有问题,m表示的是一个小时里面多少分钟。M才是表示月份。于是更改如下:

SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");
try {
    Date date=sdf.parse(editText.getText().toString().trim());
    date.getTime();
} catch (ParseException e) {
    e.printStackTrace();
}

问题解决。