2017-05-04 67 views
-2

我遇到了日期問題。我有一個格式爲「2017-05-10 16:30」 字符串的日期我想將它轉換爲與我之前寫過的相同的日期。 請幫助我,在此先感謝!Java解析來自字符串的日期

+2

首先,你是否研究過['DateTimeFormatter'](https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html)?其次,這不是日期/時間對象的工作方式。日期/時間對象是從給定時間點過去的時間量的容器,它們不攜帶任何自己的格式,這就是['DateTimeFormatter'](https://docs.oracle)。 com/javase/8/docs/api/java/time/format/DateTimeFormatter.html),它們採用日期/時間對象並根據提供的格式生成文本表示 – MadProgrammer

+2

[在Java字符串中更改日期格式] (http://stackoverflow.com/questions/4772425/change-date-format-in-a-java-string/4772461#4772461)也可以幫助 – MadProgrammer

+0

簡單的訣竅是使用相同的'DateTimeFormatter'來轉換兩種方式。它會將你的'String'轉換爲'LocalDateTime',你的'LocalDateTime'轉換爲'String'。 –

回答

0

一個簡單的搜索在谷歌或stackoverflow可能會導致答案,但在這裏你走。

前的Java 8

Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm").parse("2017-05-10 16:30"); 

的Java 8

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); 
LocalDateTime ldt = LocalDateTime.parse("2017-05-10 16:30", dtf); 
+1

*「在谷歌或stackoverflow簡單的搜索」* - 然後我建議你投票結束這個問題作爲一個副本,以鼓勵OP實際上下一次做 - 我也建議,在這個時代,我們應該在現在不存在的SimpleDateFormat上推薦'DateTimeFormatter' – MadProgrammer

0

您可以使用LocalDateTime.parse創建LocalDateTime對象,但你問題的第二部分並未真正合理。日期對象本身沒有格式,所以它不能「看起來像」任何東西。當您將其轉換回字符串時,您決定採用何種格式。