大家在model层中定义日期或时间类型的数据,一般是定义成Date类型还是将日期等转化成String存到数据库中。
以前自己都是直接存String,现在,项目中有人定义成String,有人定义成Date,今天把Date数据取出时,转了好久才在前台正确显示,不知大家是如何处理的,有没有人出来讨论下?
方案推荐指数:10
先说下数据库存储方面的:
日期类型,库中一般会存储为日期类型,不建议存储为String类型。
原因:1、空间占用大。 2、不灵活(库中查询数据时各种to_date函数调用、代码中进行日期操作时需要各种String to Date操作)
对于Model层:
楼主说的应该就是指实体对象的日期类成员属性吧,这个一般会存储为Date或者long类型。不建议存储为String类型。
原因:不方便日期逻辑操作(得转为Date才能操作)。
其实楼主之所以采用String主要是因为出于前端要频繁显示日期类格式化数据吧。其实这个没必要在服务端处理。前端不论是通过js还是其他方式,都能对一个long型处理为date并进行格式化显示。所以这种工作建议放到前端处理。
方案推荐指数:10
我觉得Date虽然好,但是也挺繁琐的,Date查出来,经过json一转到前台,日期数据变成了Long型,还得转,然后做日期查询的时候,MM/dd/yyyy这种格式又不能直接匹配查询,还得转成yyyy-MM-dd这种格式去查,挺烦的
还有存long型的,前后也得转,看个人习惯吧
我推荐用String存,这样读取显示也不用转,做查询也容易…