我们可以用java设置特定的时间吗
我想从我的项目中每天启动一次调度器,它可以从数据库中获取当天的一些日期和时间,然后再次启动一些从数据库中获取的大部头调度器来执行某些任务。我试图设置时间,但它没有设置该时间,而是将该时间添加到日期中,以便执行横向时间。下面是示例代码我们可以用java设置特定的时间吗,java,calendar,Java,Calendar,我想从我的项目中每天启动一次调度器,它可以从数据库中获取当天的一些日期和时间,然后再次启动一些从数据库中获取的大部头调度器来执行某些任务。我试图设置时间,但它没有设置该时间,而是将该时间添加到日期中,以便执行横向时间。下面是示例代码 Calendar date = Calendar.getInstance(); date.set(Calendar.HOUR, 12); date.set(Calendar.MINUTE, 56); date.set(Calendar.SEC
Calendar date = Calendar.getInstance();
date.set(Calendar.HOUR, 12);
date.set(Calendar.MINUTE, 56);
date.set(Calendar.SECOND, 0);
它将时间设置为2016年9月24日00:56:00,而不是2016年9月23日12:56:00
它添加给定的时间,而不是设置该时间。
请帮助我,告诉我设置时间而不是添加时间的方法
提前谢谢。代替
date.set(Calendar.HOUR, 12);
用这个
date.set(Calendar.HOUR_OF_DAY, 12);
您应该这样使用:
阅读
HOUR
上的Javadoc,并与HOUR\u OF_DAY
@MarkoTopolnik比较为什么日期改为9月24日
@ScaryWombat,因为时间设置为中午12点加上一些分钟,所以那天结束时已经超过了午夜。@Marko,如果我们使用JavDocs,它清楚地解释了Calendar.HOUR的工作原理:get和set的字段号,表示上午或下午的时间。小时用于12小时时钟(0-11)。中午和午夜由0表示,而不是由12@mhasan如果我们使用Javadocs,它清楚地解释了当日历处于宽松模式时,它接受的日历字段值的范围比它产生的范围更广。当日历重新计算get()返回的日历字段值时,所有日历字段都将被规范化。例如,宽大的GregorianCalendar将月份==1月,月中日==32解释为2月1日。
Calendar date = Calendar.getInstance();
date.set(Calendar.HOUR_OF_DAY, 12);
date.set(Calendar.MINUTE, 56);
date.set(Calendar.SECOND, 0);
System.out.println(date.getTime());