Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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_Date_Calendar_Hour_Minute - Fatal编程技术网

如何在Java中设置日历中的时间和仅设置时间?

如何在Java中设置日历中的时间和仅设置时间?,java,date,calendar,hour,minute,Java,Date,Calendar,Hour,Minute,有了小时和分钟,有没有比以下更简单或更好的方法将其设置为日历对象: calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), hour, minute); 使用。第一个参数是小时/分钟/秒的字段

有了小时和分钟,有没有比以下更简单或更好的方法将其设置为日历对象:

calendar.set(calendar.get(Calendar.YEAR),
                        calendar.get(Calendar.MONTH),
                        calendar.get(Calendar.DAY_OF_MONTH),
                        hour, minute);
使用。第一个参数是小时/分钟/秒的字段编号。

来源:


2018年,任何人都不应再使用
日历
类。它早已过时,
java.time
现代的java日期和时间API非常适合使用。根据您的具体要求,可以使用
ZonedDateTime
OffsetDateTime
LocalDateTime
。在这两种情况下,请按以下方式设置一天中的时间:

dateTime = dateTime.with(LocalTime.of(hour, minute));
链接

除此之外,别忘了设置


calendar.set(calendar.SECOND,0)

这个麻烦的类
Calendar
现在已经过时,取而代之的是java 8和更高版本中内置的现代java.time类。“2018年,任何人都不应该再使用
Calendar
类了”-你听说过Android吗;)是的,我有一台安卓设备,@KonradMorawski。我也听说过java.time的后端口到早期Android版本。更详细。遗憾的是,现代Java datetime API目前还不能在Android上提供。backport是一个第三方库,因此,对于那些不做那么多与日期时间相关的计算的应用程序来说,它可以说是一个杀伤力过大的应用程序。有一点是肯定的,遗留的API非常荒谬,还有改进的余地。ThreeTen Backport是由java.time的原始开发人员开发的,不过Android的改编版可能是由第三方开发的。time是从API级别26(我相信这是相当新的)开箱即用的。
dateTime = dateTime.with(LocalTime.of(hour, minute));