这个问题在这里已经有答案了:
如何将java.sql.date和java.sql.time合并到java.util.date(3个答案)
将java.util.date与java.sql.time合并(7个答案)
4个月前关门了。
使用java日历如何组合开始日期、日期和开始时间?
例如:
如果开始日期是2020年9月8日。日期是2,开始时间是上午8:00,那么我们如何获得java日期是2020年9月9日上午8:00。这是我失败的尝试。
def startDateTime(Date startDate, int day, java.sql.Time startTime){
def date
date = Calendar.getInstance()
date.setTime(startDate)
//adding day. since day 1 is the first day we need to add day - 1
date.add(Calendar.DATE, day - 1)
// setting the time from startTime
date.setTimeInMillis(startTime.getTime())
return date.getTime()
}
谢谢你的帮助。
1条答案
按热度按时间6yt4nkrj1#
你在打电话吗
date.setTime(startDate)
以及date.setTimeInMillis(startTime.getTime())
. 第二个方法正在重写第一个方法中设置的时间。您应该创建两个单独的日历示例。下面是你如何做到这一点
创建单独的
Calendar
的示例startDay
以及startTime
构建一个新的Calendar
对象从单独Calendar
在#1中创建的对象添加(&A)day
按要求完整代码如下:
输出:
日期:2020年9月8日星期二01:01:01
注意:我建议使用
java.time.*
包裹超过java.util.*
. 为什么?看看这个。但这只在Java8中可用(不过,在8)以下的版本中可以使用joda time。编辑:移动ole v.v.的评论以回答。
对于Java7,我建议使用
java.time
,现代的java日期和时间api,通过backport,threeten backport。