当前位置: 首页 > 面试题库 >

Java SimpleDateFormat总是每月返回一月

空正豪
2023-03-14
问题内容

我正在从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: 20190912190509.0Z

Formatted String is: 2019/09/12

Final date string is: Wed Jan 12 00:00:00 EST 2019

显然,它正确地获取了日期和年份(如果我选择包括时/分/秒,则也正确地包含了它们),但是由于某种原因,每个日期都被安排在1月。

现在,我确定我的错误是一个非常简单的错误,但是我已经对格式进行了大约十次的重新检查,现在我再也看不到它了。可以再希望有一双眼睛看我的代码并指出我错在哪里使月份如此严重吗?


问题答案:

将模式字符串从“ yyyy / MM / DD”更改为“ yyyy / MM / dd”

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");


 类似资料:
  • 我在Java中使用SimpleDataFormat,由于某种原因,它没有检测到月份。这是我的代码: 调用此方法:返回以下内容:而我想返回: 我的输出格式有问题吗?

  • 问题内容: 我有一个收集的文档,每天更新。有人可以给我一些建议,以退还最近一个月每天增加的文档数。我有一个带有创建时间戳的字段,如下所示。.“ createdTimestamp”:ISODate(“ 2014-03-19T19:25:23.351Z”) 问题答案: 您可以使用聚合框架来实现所需的功能:

  • 问题内容: 结果始终为1: 我在phpMyAdmin中运行了$ sql查询,它返回3,所以查询不是问题。$ vote_total全局初始化为0,因此1来自某个地方。我还需要提供什么其他信息来帮助我? 谢谢,瑞安 问题答案: 返回选定的行数,而不是特定行的字段。使用来获取您与您的查询选择的行: 您还可以用来获取一行并获取特定字段: 这将获取第一行(从零开始)并返回第一字段(从零开始)。

  • 问题内容: 我已经写了这段简单的代码: 在我的情况当属。谁能建议/建议出什么问题了? 问题答案: 错误检查和处理是程序员的朋友。检查初始化和执行cURL函数的返回值。并在失败的情况下包含更多信息: *在 手动状态: 成功返回cURL句柄,错误返回 FALSE 。 我观察到该函数在您使用其参数且无法解析域时会返回。如果未使用该参数,则该函数 可能 永远不会返回。但是,请务必始终进行检查,因为该手册并

  • 我使用Ehcache 2.6.8作为Spring Boot应用程序的一部分,作为Hibernate 4.3.11的二级缓存。我有一个JMX MBean,它允许我检查缓存的内容(如果您感兴趣,可以在这里查看)。 首先,我使用CacheManager名称来获取缓存列表。这很好。我可以用返回缓存。然后我调用。这很好,cacheName是“com.myapp.DomainObjectName”,键被列为“

  • 我正在检测电子邮件是否通过标题上显示的指令与fire base进行验证,并且它可以工作,但有一个奇怪的错误。 第一次尝试验证邮件时,即使已验证,也会显示未验证。当方法再次被执行时,它返回它已被验证。 我已经检查过了,这不是时间问题,即使我从验证邮件的那一刻到我告诉应用程序检查它是否被验证的那一刻离开了很长时间,它总是在第一次尝试时失败。 我该怎么办,如果电子邮件被验证,它返回说,它是从第一次尝试验