我正在使用SimpleDateFormat
类来设置模式并使用parse
方法来解析String
到Date
对象。
但是当我在不使用方法Date
的情况下打印format()
对象时:
SimpleDateFormat format = new SimpleDateFormat("YYYY-MM-dd");
Date dat1 = format.parse("2017-11-01");
System.out.println(dat1);
我的结果是:
Sun Dec 30 00:00:00 UTC 1990
答案 0 :(得分:0)
LocalDate.parse( "2017-11-01" )
您的搜索结果无法复制。见code run live at IdeOne.com:
SimpleDateFormat format = new SimpleDateFormat( "YYYY-MM-dd" );
Date dat1 = format.parse( "2017-11-01" );
System.out.println( dat1 );
Sun Jan 01 00 00:00:00 GMT 2017
您正在使用现在由java.time取代的麻烦的旧版本。
LocalDate ld = LocalDate.parse( "2017-11-01" )
ld.toString():2017-11-01
java.time框架内置于Java 8及更高版本中。这些类取代了麻烦的旧legacy日期时间类,例如java.util.Date
,Calendar
和& SimpleDateFormat
现在位于Joda-Time的maintenance mode项目建议迁移到java.time类。
要了解详情,请参阅Oracle Tutorial。并搜索Stack Overflow以获取许多示例和解释。规范是JSR 310。
从哪里获取java.time类?
ThreeTen-Extra项目使用其他类扩展java.time。该项目是未来可能添加到java.time的试验场。您可以在此处找到一些有用的课程,例如Interval
,YearWeek
,YearQuarter
和more。