数据库中查询到的时间怎么回是字符串

时间:2022-09-30 07:33:54

今天遇到个很尴尬的事情,我数据库中存有一张表,有一个时间字段,我定义的是datetime类型(这就是很标准的时间类型啊,没有错啊),接着我再实体类中时间定义为Date类型(我感觉好像也没毛病),然后就有问题了,从数据库中查询到的竟然是个字符串,这就让我很懵逼,按理说数据库和实体类都是标准的时间类型怎么会生成字符串呢?

最后查到了自己原来写的一个项目,也不知道当时怎么搞得,竟然实体类中时间我定义为String类型,抱着尝试的心理,试了一下,把我实体类中的Date类型改为String之后竟然巧妙的好了,生成了时间类型,开始也没怎么想,最后查了一下,好像有点懂了。

虽然在数据库中是以Datetime的类型存储的,查询出来都会被转化为String类型显示

一种方法是直接在实体类中就定义为String类型,这种尤为简单

另一种就是借助中间桥梁的方式,将其转化为String类型

SimpleDateFormat sdf = new SimpleDateFormat
        ("yyyy-MM-dd HH:mm:ss");
Date now = new Date();
String  start_time= sdf.format(now);