java字符串到日期时间的转换问题

java字符串到日期时间的转换问题,java,string,datetime,Java,String,Datetime,我似乎看不出下面的示例代码有什么问题。出于某种原因,他们似乎忽略了年份,并说日期是相同的,从下面的输出中可以看出。我一定错过了一些简单的东西 01/28/2006 01/16/2007 2008年4月1日星期二00:00:00太平洋标准时间 2008年4月1日星期二00:00:00太平洋标准时间 完成 应改为: "MM/dd/yyyy" 正如Peter提到的,这些字母的含义可以在以下文档中找到: .您可以尝试将日期声明为对象。它没有提供您所期望的内容的原因就像Peter说的那样,简化格式应为“

我似乎看不出下面的示例代码有什么问题。出于某种原因,他们似乎忽略了年份,并说日期是相同的,从下面的输出中可以看出。我一定错过了一些简单的东西

01/28/2006
01/16/2007
2008年4月1日星期二00:00:00太平洋标准时间
2008年4月1日星期二00:00:00太平洋标准时间
完成

应改为:

"MM/dd/yyyy"

正如Peter提到的,这些字母的含义可以在以下文档中找到:
.

您可以尝试将日期声明为对象。

它没有提供您所期望的内容的原因就像Peter说的那样,
简化格式应为
“MM/dd/yyyyy”



结果表明它们似乎相等的原因是,按照您给定的格式,
“dd/MM/yyyy”
d1String
,其月份为28。它是28-12,加上一年,16-12,再加上一年,结果是4月,现在是2008年。对于一个愚人节的笑话,d2String也是一样的吗?这两个日期都对应于4月1日,这似乎很做作1年,-12个月==同一日期。如果您的dateformat对象是严格的(df.setLenient(false)),那么它会为您引发错误。构造函数日期(字符串)已弃用。他正在使用正确的方法将字符串转换为日期。
"dd/MM/yyyy"
"MM/dd/yyyy"