如何替换已弃用的方法Date.setHours(int)?

and*_*ive 5 java date deprecated

我的DateJava代码中有一些不赞成使用的方法,如果有人可以在这里指导我,我将不胜感激.我有一个私有的Date变量:

private Date startime;
private Date endTime;
Run Code Online (Sandbox Code Playgroud)

在我的方法中,我宣布:

Calendar calender = Calendar.getInstance();
this.startTime = calender.getTime();
this.startTime.setHours(0); // ----> is depreacted

this.endTime.setHours(startTime.getHours()); // -->deprecated line as well
Run Code Online (Sandbox Code Playgroud)

其他方法如setMinutes()getMinutes(),也已弃用.

我知道我必须使用Calendar.set(Calendar.HOUR_OF_DAY, hour).如何在这里使用新代码?所有的setHours,getMinutes等都是覆盖的.

        if (query.getCount() > 0 && query.moveToFirst()) {
          Calendar calender = Calendar.getInstance();
          this.startTime = calender.getTime();
          this.startTime.setHours(0);
          this.startTime.setMinutes(query.getInt("startTimeOfDayMins"));

          this.daysOfWeek = (query.getString("daysOfWeek")).toLowerCase();

          this.endTime = calender.getTime();
          this.endTime.setHours(startTime.getHours());
          this.endTime.setMinutes(startTime.getMinutes() + query.getInt("durationMins"));

        this.context = null;
    }
Run Code Online (Sandbox Code Playgroud)

mma*_*ar1 5

如果我理解你的问题,这应该有效:

int hours = 0;
Calendar calendar = Calendar.getInstance();
calendar.set( Calendar.HOUR_OF_DAY, hours );
this.startTime = calendar.getTime();

this.endTime = calendar.getTime();
Run Code Online (Sandbox Code Playgroud)

如果没有,您能否向我们展示您想要替换日期代码的完整方法?

编辑:这是您的完整方法的更新版本.基本上它是如何工作的,一旦你得到一个Calendar对象的实例,它就会保持它的状态.由于您不打算更改小时数,因此只需设置一次.由于您要从查询更新分钟,因此在调用calendar.getTime()之前必须再次设置它.

    if (query.getCount() > 0 && query.moveToFirst())
    {
        int hours = 0;
        int minutes = query.getInt( "startTimeOfDayMins" );

        Calendar calendar = Calendar.getInstance();
        calendar.set( Calendar.HOUR, hours );
        calendar.set( Calendar.MINUTE, minutes );
        this.startTime = calendar.getTime();

        this.daysOfWeek = ( query.getString( "daysOfWeek" ) ).toLowerCase();

        calendar.set( Calendar.MINUTE, minutes + query.getInt( "durationMins" ) );
        this.endTime = calendar.getTime();

        this.context = null;
    }
Run Code Online (Sandbox Code Playgroud)