我在方法参数中以字符串形式获取日期(SettlementDate),如下面的方法所示
public List<abc> eee(Long Id,
String sfsdf, boolean dfds,
String SettlementDate,
) {
现在我正在应用如下所示的标准,但在我正在应用标准的 POJO 中,该 POJO 字段 (SettlementDate) 是日期类型,如下所示
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)));
其他一些备注:
- 在数据库中存储日期时,您应该使用日期或日期时间格式,或者可能是包含毫秒的数字,但绝对不是字符串
- Java 类应以大写字母开头
- 变量和参数名称应以小写字母开头
关于java - 将日期从字符串类型转换为日期数据类型时出现类转换异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22537107/