如何将一个时间戳中的日期和另一个时间戳中的时间结合起来?

cod*_*nac 6 java datetime

我使用 AngularJS 通过 HTML 分别获取日期和时间作为用户输入。但是时间戳是我数据库中的一列。

日期和时间字段在我的 Java 服务器中作为两个不同的时间戳出现。

Date --> 2015-11-11 00:00:00.0
Time --> 1970-01-01 23:11:00.0
Run Code Online (Sandbox Code Playgroud)

我想将日期中的日期部分和时间中的时间部分结合起来,并作为时间戳插入到我的数据库中

DateTime --> 2015-11-11 23:11:00.0
Run Code Online (Sandbox Code Playgroud)

cor*_*iKa 4

假设您能够将它们创建为java.util.Date对象,您可以依靠它们的毫秒数来获取此信息:

long dateMills = date.getTime();
long timeMills = time.getTime();

long dateTimeMills = dateMills + timeMills();

long dateTime = new Date(dateTimeMills);
Run Code Online (Sandbox Code Playgroud)

或者,您可以单独设置字段。

GregorianCalendar dateCal = new GregorianCalendar();
GregorianCalendar timeCal = new GregorianCalendar();

dateCal.setTime(date.getTime());
timeCal.setTime(time.getTime());

int year = dateCal.get(Calendar.YEAR);
int month = dateCal.get(Calendar.MONTH);
int day = dateCal.get(Calendar.DAY_OF_MONTH);

int hour = timeCal.get(Calendar.HOUR_OF_DAY);
int minute = timeCal.get(Calendar.MINUTE);
int second = timeCal.get(Calendar.SECOND);

GregorianCalendar dateTimeCal = new GregorianCaledar(year, month, day, hour, minute, second);
Date dateTime = dateTimeCal.getTime();
Run Code Online (Sandbox Code Playgroud)