当前位置: 首页 > 面试题库 >

如何替换不推荐使用的方法Date.setHours(int)?

许出野
2023-03-14
问题内容

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

private Date startime;
private Date endTime;

在我的方法中,我声明了:

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

this.endTime.setHours(startTime.getHours()); // -->deprecated line as well

其他方法(例如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;
    }

问题答案:

如果我正确理解了您的问题,这应该可以:

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

this.endTime = calendar.getTime();

如果没有,您可以向我们显示要替换日期代码的完整方法吗?

编辑:这是您完整方法的更新版本。基本上,工作原理是,一旦获得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;
    }


 类似资料:
  • 问题内容: 我已经继承了代码 @已弃用,并显示为“ 没有RequestConfig的类文档,我不知道应该使用哪种方法来替换and 。 问题答案: 您正在将apache HttpClient 4.3库与apache HttpClient 4.2代码一起使用。 请注意,在您的情况下,getParams()和ConnRoutePNames不是唯一不推荐使用的方法。DefaultHttpClient类本身

  • 我的错误日志中出现了以下错误:woocommerce_product_tax_class从3.0.0版开始就不推荐使用了!改用woocommerce_product_get_tax_class。 我有以下功能来显示不同的用户角色不同的税务类。我可以直接将“woocommerce_product_tax_class”更改为“woocommerce_product_get_tax_class”吗?

  • 问题内容: 我正在使用org.apache.poi 3.15读取一个excel文件(文件扩展名为xlsx)。 这是我的代码: 我收到不推荐使用的警告。谁能告诉我替代方法? 问题答案: 接受的答案显示了弃用的原因,但未列出替代项: 其中是描述单元格类型的枚举。 计划是在POI 4.0中重命名回。

  • 问题内容: 我是Android编程的新手。 我一直在遵循有关从此网站创建音乐播放器的教程 本教程要求 使用不推荐使用的 Class 方法。哪种方法尤其可以代替此不推荐使用的方法?而且,是否有资料来源可以找到所有不赞成使用的方法及其当前替代方法? 这是我的代码,其中有关于不推荐使用的方法的警告: 问题答案: 如果按CTRL +左键单击方法,则会找到方法声明。这就是使用其内容和javadoc创建方法的

  • 问题内容: 我发现这段代码的工作方式是,我可以以编程方式创建richfaces下拉菜单。但是不推荐使用某些代码。谁能告诉我要放什么而不是不赞成使用的电话? 谢谢 不推荐使用的代码行是: 问题答案: javadocs明确指出: 不推荐使用 。通过调用getExpressionFactory()然后 ExpressionFactory.createMethodExpression(javax.el.E

  • 问题内容: 现在我正在使用类似 我需要您的意见以最好/最有效的方式对密码进行加密,当然,加密的密码应受PHP 7.xx支持,并且也应可解密,因为我的客户确实希望选择“恢复”密码而不生成新密码一。 问题答案: 最佳做法是对密码进行哈希处理,以使密码不可解密。这使可能已获得对数据库或文件的访问权限的攻击者的处境变得更加困难。 如果必须加密数据并使其可解密,请访问https://paragonie.co