是否有方法使用Joda將格式爲「YYYY-MM-dd」的日期轉換爲「YYYY-MM-dd HH:mm:ss」?使用Joda將日期轉換爲日期時間
如: 「2016年1月21日」 到 「2016年1月21日00:00:00」 從喬達API
是否有方法使用Joda將格式爲「YYYY-MM-dd」的日期轉換爲「YYYY-MM-dd HH:mm:ss」?使用Joda將日期轉換爲日期時間
如: 「2016年1月21日」 到 「2016年1月21日00:00:00」 從喬達API
使用DateTimeFormat類。它可以幫助您將日期格式化爲您選擇的格式。你可以簡單地提供你想要的格式,就像在這種情況下你想要「YYYY-MM-dd HH:mm:ss」。下面的代碼適用於JodaTime 2.0及更高版本。
DateTime date = DateTime.parse("2016-01-21", DateTimeFormat.forPattern("YYYY-MM-dd HH:mm:ss"));
有在玩兩樣東西在這裏,我們首先需要將現有的字符串解析成一個DateTime對象,它是通過parse
方法來完成,這也讓一個額外的參數,將輸出轉換成不同格式。下面給出了更長,但更容易理解的實現。
DateTime date = DateTime.parse("2016-01-21");
DateTimeFormatter formatter = DateTimeFormat.forPattern("YYYY-MM-dd HH:mm:ss");
date = formatter.parseDateTime(string);
你的問題不明確:
你只想格式化「東西表示日期」與的「00:00:00」時間的字符串?
或者,您試圖轉換「東西表示日期」變成「表示日期+時間的東西,以00:00:00的時間」?
或者您是否試圖通過忽略原始時間並將時間設置爲00:00:00
將java.util.Date
轉換爲Joda org.joda.time.DateTime
?
或者你是否試圖將格式爲「YYYY-MM-dd」的日期字符串轉換爲另一個帶日期+時間的字符串,時間爲00:00:00?
還是別的什麼?
在約達,以表示一個日期的適當方法是通過LOCALDATE,並代表一個「日期+時間」信息(但不是時間的時刻)是由LocalDateTime
的正確方法。 DateTime
代表瞬間的時間。有了這些基本的瞭解:
答案Q1:
String result = DateTimeFormat.forPattern("YYYY-MM-dd", myLocalDate);
答案Q2:
LocalDateTime result = myLocalDate.toLocalDateTime(LocalTime.MIDNIGHT);
答案Q3:
DateTime result = new DateTime(javaUtilDate).withTimeAtStartOfDay();
答案Q4:
String result = dateString + " 00:00:00";
在提問之前,您至少需要搜索本網站和Google,也可以自行解決問題。請閱讀[問]。 –