Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我们可以用java设置特定的时间吗_Java_Calendar - Fatal编程技术网

我们可以用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());