为了账号安全,请及时绑定邮箱和手机立即绑定

Java SimpleDateFormat总是每月返回一月

Java SimpleDateFormat总是每月返回一月

收到一只叮咚 2019-09-26 15:25:47
我正在从Active Directory中获取日期值(createWhen),并将其转换为Java日期,以获取两个日期之间创建的帐户的列表。除了一种方法,一切工作正常:从AD Date到Java date的方法。该方法如下所示:private Date getParsedDate(String givenString) {     System.out.println("Value from AD is: " + givenString);     Date parsedDate = null;     String formattedString = this.formatDateString(givenString);     System.out.println("Formatted String is: " + formattedString);     SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/DD");     try {         parsedDate = sdf.parse(formattedString);         System.out.println("Final date string is: " + parsedDate.toString());     } catch (ParseException ex) {         ex.printStackTrace();     }     return parsedDate;}并且,对于来自AD的单个任意数据:Value from AD is: 20050912190509.0ZFormatted String is: 2005/09/12Final date string is: Wed Jan 12 00:00:00 EST 2005显然,它正确地获取了日期和年份(如果我选择包括时/分/秒,则也正确地包含了它们),但是由于某种原因,每个日期都被安排在1月。现在,我确定我的错误是一个非常简单的错误,但是我已经对格式进行了大约十次的重新检查,现在我再也看不到它了。希望第二只眼睛能看一下我的代码并指出我要去哪里出错以至于使本月如此严重不正确吗?谢谢。
查看完整描述

3 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

确保使用“ mm”代替“ MM”或“ MMM”。小m代表分钟,大写M代表月。


查看完整回答
反对 回复 2019-09-26
  • 3 回答
  • 0 关注
  • 657 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信