Printing Date object without using format method(不使用Format方法打印日期对象)
问题描述
我正在使用SimpleDateFormat
类设置模式,并使用parse
方法解析String
toDate
对象。
但在不使用方法format()
打印Date
对象时:
SimpleDateFormat format = new SimpleDateFormat("YYYY-MM-dd");
Date dat1 = format.parse("2017-11-01");
System.out.println(dat1);
我的结果是:
周日12月30日UTC 1990 00:00:00
推荐答案
tl;dr
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 GMT 2017 00:00:00
java.time
您正在使用麻烦的旧旧类,现在已被java.time取代。
LocalDate ld = LocalDate.parse( "2017-11-01" )
ld.toString():2017-11-01
关于java.time
java.time框架内置于Java 8及更高版本中。这些类取代了麻烦的旧legacy日期-时间类,如java.util.Date
、Calendar
、&;SimpleDateFormat
。
Joda-Time项目现在位于maintenance mode中,建议迁移到java.time类。
要了解更多信息,请参阅Oracle Tutorial。和搜索堆栈溢出以获取许多示例和解释。规范为JSR 310。从哪里获取java.time类?
- Java SE 8、Java SE 9和更高
- 内置。
- 带有捆绑实现的标准Java API的一部分。
- Java 9添加了一些次要功能和修复。
- Java SE 6和Java SE 7
- 许多java.time功能已在ThreeTen-Backport中重新移植到Java 6&;7。
- Android
- ThreeTenABP项目专门针对Android进行了ThreeTen-Backport适配。
- 参见How to use ThreeTenABP…。
ThreeTen-Extra项目使用其他类扩展了java.time。该项目为将来可能添加到java.time中提供了一个试验场。您可以在这里找到一些有用的类,如Interval
、YearWeek
、YearQuarter
和more。
这篇关于不使用Format方法打印日期对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!