本文介紹了不使用Format方法打印日期對象的處理方法,對大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我正在使用SimpleDateFormat
類設(shè)置模式,并使用parse
方法解析String
toDate
對象。
但在不使用方法format()
打印Date
對象時(shí):
SimpleDateFormat format = new SimpleDateFormat("YYYY-MM-dd");
Date dat1 = format.parse("2017-11-01");
System.out.println(dat1);
我的結(jié)果是:
周日12月30日UTC 1990 00:00:00
推薦答案
tl;dr
LocalDate.parse( "2017-11-01" )
結(jié)果不可復(fù)制
您的結(jié)果無法復(fù)制。請參見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
您正在使用麻煩的舊舊類,現(xiàn)在已被java.time取代。
LocalDate ld = LocalDate.parse( "2017-11-01" )
ld.toString():2017-11-01
關(guān)于java.time
java.time框架內(nèi)置于Java 8及更高版本中。這些類取代了麻煩的舊legacy日期-時(shí)間類,如java.util.Date
、Calendar
、&;SimpleDateFormat
。
Joda-Time項(xiàng)目現(xiàn)在位于maintenance mode中,建議遷移到j(luò)ava.time類。
要了解更多信息,請參閱Oracle Tutorial。和搜索堆棧溢出以獲取許多示例和解釋。規(guī)范為JSR 310。
從哪里獲取java.time類?
Java SE 8、Java SE 9和更高
內(nèi)置。
帶有捆綁實(shí)現(xiàn)的標(biāo)準(zhǔn)Java API的一部分。
Java 9添加了一些次要功能和修復(fù)。
Java SE 6和Java SE 7
許多java.time功能已在ThreeTen-Backport中重新移植到Java 6&;7。
Android
ThreeTenABP項(xiàng)目專門針對Android進(jìn)行了ThreeTen-Backport適配。
參見How to use ThreeTenABP…。
ThreeTen-Extra項(xiàng)目使用其他類擴(kuò)展了java.time。該項(xiàng)目為將來可能添加到j(luò)ava.time中提供了一個(gè)試驗(yàn)場。您可以在這里找到一些有用的類,如Interval
、YearWeek
、YearQuarter
和more。
這篇關(guān)于不使用Format方法打印日期對象的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,