我有两个java.util.Date
个实例,其中包含日期值和时间值。现在我想组合这些值来创建表示日期和时间的单个java.util.Date
实例。
这里有一些例子来说明我想要的东西:
Date date = 2015-06-01;
Date time = 22:30;
合并到:
Date dateTime = 2015-06-01 22:30;
我做了一些搜索,我发现了这个问题 Combining java.util.Dates to create a date-time 这与我目前的问题类似。但是这个问题的选择答案已被弃用。
答案 0 :(得分:4)
您可以使用日历
在没有JODA的情况下执行此操作但是,正如您询问JODA一样,以下是JODA的方法:
// you want the date part from it
Date d = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse("2013-01-02 03:04:05");
// you want to time part from it
Date t = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse("2014-02-03 04:05:06");
LocalDate datePart = new LocalDate(d);
LocalTime timePart = new LocalTime(t);
LocalDateTime dateTime = datePart.toLocalDateTime(timePart);
Date result = dateTime.toDate();
// Or shrink the above 4 lines into one, as follow
// Date result = new LocalDate(d).toLocalDateTime(new LocalTime(t)).toDate();
System.out.println("result " + result);
// print out result Wed Jan 02 04:05:06 CST 2013
答案 1 :(得分:1)
改为使用日历?
特别是set(int year,
int month,
int date,
int hourOfDay,
int minute)和
如果您想要日期,请使用getTime()?
或使用Calendar类中的setTime(Date ..
)函数将Date对象转换为Calendar对象,使用Calendar类中的函数提取值(日,小时,分钟)?