是否有方法使用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,也可以自行解决问题。请阅读[问]。 –