
在我的程序中有一个非常奇怪的问题.在这里你可以看到String birthday和Log来检查它:
birthday = String.valueOf(birthYear) + "-" + String.valueOf(birthMonth) + "-" + String.valueOf(birthDay);Log.i(TAG, "Birthday: " + birthday)然后我把它放到SimpleDateFormat并用Log检查它:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");Date birthDate = sdf.parse(birthday);Log.i(TAG, "Birth date : " + birthDate);然后在Logcat我有:
I/App﹕ Birthday: 1999-10-15I/App﹕ Birth date: Fri Jan 15 00:10:00 GMT+04:00 1999所以你在日期看到它是Jan,但是在String中它是10,所以date应该是这样的:
Fri Nov 15 00:10:00 GMT+04:00 1999我的错误在哪里?
P.S我认为我的问题与Getting wrong data when using SimpleDateFormat.parse()有某种联系
解决方法:
采用:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");使用MM表示月份,mm表示分钟,如documentation所述…
如果要以特定格式打印日期,则应使用:
sdf.format(birthday)或者另一个SimpleDateFormat,如果你想以不同的格式pring它…
总结以上是内存溢出为你收集整理的java – 使用SimpleDateFormat.parse时出错全部内容,希望文章能够帮你解决java – 使用SimpleDateFormat.parse时出错所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)