乔达:将日期和时间转换为日期时间
是否有方法将时间和日期变量转换为日期时间?乔达:将日期和时间转换为日期时间
我有一段时间介于两个日期时间变量之间,对于那个时期的每个日期,我想在该日期中存储一个句点,开始日期时间和结束日期时间,所以一天可以有多个日期时间定义的日期。
似乎无法弄清楚如何将日期和时间结合到日期时间。
在此先感谢!
使用这个固定:
public DateTime dateAndTimeToDateTime(java.sql.Date date, java.sql.Time time) {
String myDate = date + " " + time;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date utilDate = new java.util.Date();
try {
utilDate = sdf.parse(myDate);
} catch (ParseException pe){
pe.printStackTrace();
}
DateTime dateTime = new DateTime(utilDate);
return dateTime;
}
普通的Java Date
和Joda-TimeDateTime
应该服务宗旨。
Date date = new Date(); // java.util.Date; - This date has both the date and time in it already.
DateTime dateTime = new DateTime(date);
关于Joda-Time的更多info。
如果你有两个String
对象,其中1具有Date
和其他Time
,你可以结合两个字符串,并使用SDF分析它,并得到Date
对象,然后你就可以转换为DateTime
。
关于最后一段...如果你在该日期和时间([标准格式](https://en.wikipedia.org/wiki/ISO_8601))之间包含一个“T”,您可以直接将该字符串传递给[DateTime]的构造函数(http:// www.joda.org/joda-time/apidocs/org/joda/time/DateTime.html)。无需使用SimpleDateFormat和Date类。只需一行代码。像这样...'DateTime dateTime = new DateTime(“2013-01-02T03:04:05”,DateTimeZone.UTC);' – 2013-12-30 23:25:50
我很肯定你可以找到如何分别构建日期和时间实例。
但是,在日期时间对象本身,您可以指定以下内容。
dateTimeObject = dateTimeObject.withHourOfDay(12);
dateTimeObject = dateTimeObject.withMinuteofHour(59);
dateTimeObject = dateTimeObject.withSecondOfMinute(59);
希望这有助于!
即使这个问题是有点老,已经回答了,我无法找到一个令人满意的解决方案。对于这个问题最好的方法可能是下面的代码(不需要任何解析和异常处理):
public DateTime dateAndTimeToDateTime(java.sql.Date date, java.sql.Time time) {
DateTime t = new DateTime(time);
return new DateTime(date).withTime(t.getHourOfDay(), t.getMinuteOfHour(), t.getSecondOfMinute(), t.getMillisOfSecond());
}
什么*究竟*你的意思是“时间和日期变量”?如果您向我们展示代码而不是描述它,那将会容易得多。 – 2013-03-07 15:56:34
java.sql.Time beginTime和java.sql.Date beginDate,我想从它们中构建一个dateTime – Luc 2013-03-08 08:41:30
Luc - 给我们一个你想要做什么的例子。使事情更清楚。 – 2013-03-10 18:22:25