(); List records try { S-6ren">
gpt4 book ai didi

java - 以日期为数据类型将字符串转换为 "yyy-MM-dd"格式

转载 作者:行者123 更新时间:2023-11-29 08:21:31 25 4
gpt4 key购买 nike

我试图通过获取日期然后填充表来获取存储在数据库中的数据。

    List<String> contents = new ArrayList<>();
List<Record> records

try {
Session session = sessionFactory.getCurrentSession();
Query<World> query = null;

query = session.createQuery("from World where date like :dateCont, World.class);
query.setParameter("dateCont", "%" + contents.get(0) + "%");

worlds = query.getResultList();

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

这里的问题是它给了我一个错误异常:

java.lang.ClassCastException: class java.lang.String cannot be cast to class java.util.Date (java.lang.String and java.util.Date are in module java.base of loader 'bootstrap')

我知道出了什么问题,因为 List<String> contents值是字符串,需要转换为日期,但我尝试了很多代码,但它不起作用。

//The following are the codes that I tried but it won't work:

//FIRST

Date date = new SimpleDateFormat("MM/dd/yyyy").parse(contentsStart.get(0));
new SimpleDateFormat("yyyy-MM-dd").format(date);

//---------------------------------------

//SECOND

Date newDate;
DateFormat formatter = null;

formatter = new SimpleDateFormat("yyyy-MM-dd");
newDate = (Date) formatter.parse(contentsStart.get(0));

那么,有什么方法可以将给定值更改为日期,但它应该保留格式“yyyy-MM-dd”并且数据类型应该是日期。

PS: the format of date in database is "yyyy-MM-dd" also. Both my date entity field and date from DB is both Date as their datatype.

最佳答案

试试这个:

 DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date d1= (Date) format.parse(yourDate);

关于java - 以日期为数据类型将字符串转换为 "yyy-MM-dd"格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57625161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com