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之后,将其放到网上在线工具验证
发现08变成01了。
发现问题,直接找到SimpleDateFormat的api查看https://www.android-doc.com/reference/java/text/SimpleDateFormat.html。发现它上面定义的如图
发现是mm有问题,m表示的是一个小时里面多少分钟。M才是表示月份。于是更改如下:
SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd"); try { Date date=sdf.parse(editText.getText().toString().trim()); date.getTime(); } catch (ParseException e) { e.printStackTrace(); }
问题解决。