Joda:将日期和时间转换为DateTime

时间:2013-03-07 15:52:35

标签: java date datetime time jodatime

有没有办法将Time和Date变量转换为DateTime?

我有一个介于两个DateTime变量之间的句点,对于该句号中的每个日期,我想在该日期中存储一个句点IN,其中包含begin DateTime和end DateTime,因此一天可以有一个由DateTime定义的多个句点。

似乎无法弄清楚如何将日期和时间组合到DateTime。

提前致谢!

6 个答案:

答案 0 :(得分:5)

普通java DateJoda-Time DateTime应该达到目的。

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,则可以合并2个字符串并使用SDF来解析它获取Date对象,然后将其转换为DateTime

答案 1 :(得分:3)

即使这个问题有点老了已经得到解答,我也找不到令人满意的解决方案。解决此问题的最佳方法可能是以下代码(无需任何解析和异常处理):

execvp(arg[0], arg);

答案 2 :(得分:2)

我很确定您可以找到如何单独构建日期和时间实例。

但是在datetime对象本身上,您可以指定以下内容。

dateTimeObject = dateTimeObject.withHourOfDay(12);
dateTimeObject = dateTimeObject.withMinuteofHour(59);
dateTimeObject = dateTimeObject.withSecondOfMinute(59);

希望这有帮助!

答案 3 :(得分:2)

使用它修复它:

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;
}

答案 4 :(得分:0)

DateTime dateTime = new DateTime("yyyy-MM-dd");.

System.out.println("============> " + dateTime.toString());

输入:2018年1月4日
输出:============> 2018-01-05T00:00:00.000 + 05:30

答案 5 :(得分:0)

java.time

使用现代Java日期和时间API java.time,这非常简单明了:

    LocalTime time = LocalTime.of(23, 45);
    LocalDate date = LocalDate.of(2019, Month.NOVEMBER, 23);

    LocalDateTime combined = date.atTime(time);
    System.out.println(combined);

输出为:

  

2019-11-23T23:45

我知道您问过乔达·时代(Joda-Time)。但是,Joda-Time主页显示:

  

请注意,Joda-Time被认为是很大程度上“完成”的项目。   没有计划进行重大增强。如果使用Java SE 8,请迁移   到java.time(JSR-310)。

链接