Java 从文本文件中读取日期并输入对象日期

Java 从文本文件中读取日期并输入对象日期,java,date,Java,Date,我必须从一个文件中读取一个日期,该日期是这样写在这个文件上的:dd/MM//yy,但当我读取时,我得到的值完全不同。例如:17/11/10变成了周一2010年1月4日00:00:00 CET。值不同,为什么 这是我使用的代码: SimpleDateFormat sdf=new SimpleDateFormat("dd/MM/YY"); Date dat=sdf.parse(reader.readLine()); 年份的占位符是yy,而不是yy。但是,我不知道它为什么会给出这样的结果。年的占位符

我必须从一个文件中读取一个日期,该日期是这样写在这个文件上的:
dd/MM//yy
,但当我读取时,我得到的值完全不同。例如:
17/11/10
变成了
周一2010年1月4日00:00:00 CET
。值不同,为什么

这是我使用的代码:

SimpleDateFormat sdf=new SimpleDateFormat("dd/MM/YY");
Date dat=sdf.parse(reader.readLine());

年份的占位符是
yy
,而不是
yy
。但是,我不知道它为什么会给出这样的结果。

年的占位符是
yy
,而不是
yy
。但是我不知道它为什么会给出这样的结果。

你能在问题中包括你的实际代码吗,因为我怀疑它的
dd/MM//yy
dd/MM/yy
是无效的

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy");
String text = "17/11/10";
System.out.println(sdf.parse(text));
印刷品

Wed Nov 17 00:00:00 GMT 2010

你能在问题中包括你的实际代码吗?因为我怀疑它的
dd/MM//yy
dd/MM/yy
无效

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy");
String text = "17/11/10";
System.out.println(sdf.parse(text));
印刷品

Wed Nov 17 00:00:00 GMT 2010

MM
更改为
MMM
时出现parseException错误,请尝试编辑您的问题,以包含
reader.ReadLine()返回的内容。也许不是你想象的那样。好吧,我解决了。我将
YY
改为
YY
。现在可以工作了,而在2011年,选择
Date
SimpleDateFormat
,对于2017年或以后阅读此问题的人来说,这些类早已过时。相反,我推荐
java.time
(也称为JSR-310)中的
LocalDate
DateTimeFormatter
。现代类通常使用起来更方便,并且
LocalDate
建模了一个没有时间的日期,这就是您在这里需要的。我在将
MM
更改为
MMM
时遇到一个parseException错误,请尝试编辑您的问题,以包含
reader.ReadLine()
返回的内容。也许不是你想象的那样。好吧,我解决了。我将
YY
改为
YY
。现在可以工作了,而在2011年,选择
Date
SimpleDateFormat
,对于2017年或以后阅读此问题的人来说,这些类早已过时。相反,我推荐
java.time
(也称为JSR-310)中的
LocalDate
DateTimeFormatter
。现代类通常使用起来更方便,而且
LocalDate
建模的日期没有一天中的时间,这正是您在这里需要的。部分解释是大写字母
YY
表示基于周的年份(仅对周数有用)。部分解释是大写字母
YY
表示基于周的年份(仅适用于周数)。