使用日历API Java

使用日历API Java,java,api,calendar,Java,Api,Calendar,我有一个TimeOfDay对象的目标。我需要编写getTimeForDay方法的帮助。稍后将提供代码。我希望编写此方法,以便给定一个日历对象,它返回一个新的日历对象,该对象具有相同的年、月和日,但与此实例关联的时间。 代码是: import java.util.Calendar; 公共类TimeOfDayImpl实现了TimeOfDay、可克隆、可比较{ 专用字节分钟; 专用字节小时; 每日公共时间(字节min,字节hr){ //TODO自动生成的构造函数存根 } @凌驾 公共int比较时间(o

我有一个TimeOfDay对象的目标。我需要编写getTimeForDay方法的帮助。稍后将提供代码。我希望编写此方法,以便给定一个日历对象,它返回一个新的日历对象,该对象具有相同的年、月和日,但与此实例关联的时间。 代码是:

import java.util.Calendar;
公共类TimeOfDayImpl实现了TimeOfDay、可克隆、可比较{
专用字节分钟;
专用字节小时;
每日公共时间(字节min,字节hr){
//TODO自动生成的构造函数存根
}
@凌驾
公共int比较时间(o日时间){
//TODO自动生成的方法存根
返回0;
}
@凌驾
公共字节小时(){
//TODO自动生成的方法存根
返回0;
}
@凌驾
公共字节分钟(){
//TODO自动生成的方法存根
返回0;
}
@凌驾
公共日历getTimeForDay(日历引用日){
referenceDay.getInstance();
参考日。
//TODO自动生成的方法存根
返回null;
}
public TimeOfDay clone()引发CloneNotSupportedException
{
return(TimeOfDay)super.clone();
}
}
您应该在第一个通话点进行通话。(英译汉)一点努力可以走很长的路。如果你已经试过了,一定要说明你在找到答案时遇到了什么问题,因为,是的,它们有时会非常令人困惑:P

public Calendar getTimeForDay(Calendar referenceDay) {
    // Create a new Calendar, which should equal "NOW"
    Calendar timeOfDay = Calendar.getInstance();
    // Transfer the year, month and date values from our reference calendar
    // to our "NOW" calendar...
    // Include our hour and minute values, not that I'm zeroing out the seconds
    timeOfDay.set(
            referenceDay.get(Calendar.YEAR), 
            referenceDay.get(Calendar.MONTH), 
            referenceDay.get(Calendar.DATE),
            (int)hour(),
            (int)minute(),
            0);
    // Return the result
    return timeOfDay;
}

让我想想这个。您想返回一个新的
日历实例,其
、和
参考日
相同,但其时间为“现在”?并且哪个部分无法帮助您?我是日历API的初学者。我相信过一会儿事情就会有意义,但我必须尽快完成。我不想让你告诉我代码,如果你能指导我怎么做,我至少会走上正轨。谢谢你,谢谢你。但是你能向我解释一下你是如何处理每分钟和第二个问题的吗?我还有一个困惑。在代码上面,我有一个方法public byte hour().你认为这是一种既能获取又能设置的方法吗?1-
Calendar
会自己安排时间。
Calendar
的新实例与创建新的
Date
对象相同,它们会自动同步到当前日期和时间。因此,返回的值将是当前时间(毫秒之间有一些微小的差异;),但是
参考日期的
日期
…太棒了!感谢并感谢您向我介绍Java文档。它很有帮助:)2-我想说您的
hour
方法是一个getter,因为它不需要参数来更改值…我是不是想用这些值为新的
日历
种子?
public Calendar getTimeForDay(Calendar referenceDay) {
    // Create a new Calendar, which should equal "NOW"
    Calendar timeOfDay = Calendar.getInstance();
    // Transfer the year, month and date values from our reference calendar
    // to our "NOW" calendar...
    // Include our hour and minute values, not that I'm zeroing out the seconds
    timeOfDay.set(
            referenceDay.get(Calendar.YEAR), 
            referenceDay.get(Calendar.MONTH), 
            referenceDay.get(Calendar.DATE),
            (int)hour(),
            (int)minute(),
            0);
    // Return the result
    return timeOfDay;
}