在将日期从字符串类型转换为日期数据类型时获得类强制转换异常



我在方法参数中以字符串形式获取日期(settmentdate),如下面的方法

所示
   public List<abc> eee(Long Id,
                String sfsdf, boolean dfds,
                 String SettlementDate,
                ) {

现在我正在应用如下所示的标准,但是在我正在应用该pojo的标准的pojo中,字段(settmentdate)是Date类型,如下所示

class ddd
{
private Date settlementDate;
}

下面是标准实现

Criteria query = session.createCriteria(ddd.class);
query.add(Restrictions.eq("Id", Id));
query.add(Restrictions.eq("sfsdf", sfsdf));
query.add(Restrictions.eq("settlementDate", SettlementDate );

最终在数据库中,我想以这种格式存储日期22.07.2016 00:00:00

现在请告知我如何在标准中设置此值,现在我在下一行

中获得类强制转换异常
query.add(Restrictions.eq("settlementDate", SettlementDate );

清楚地证明字符串类型的日期不转换为日期格式(22.07.2016 00:00:00)朋友们,如果我必须使用简单的日期格式那么请告诉我在这种情况下如何使用,谢谢

如果我理解正确的话,您需要将日期字符串转换为日期。你可以试试:

query.add(Restrictions.eq("settlementDate", new SimpleDateFormat("dd.MM.yyyy hh:mm:ss").parse(SettlementDate)));

其他备注:

  • 当在数据库中存储日期时,您应该使用date或DateTime格式,或者可能是包含毫秒的数字,但绝对不是字符串
  • Java类应该以大写开头
  • 变量和参数名应该以小写字母
  • 开头

最新更新