关于Mysql的日期类型设置问题

xujunxing 发布于 09/12 16:18
阅读 283
收藏 0

查询出来的结果是这样的,怎么搞啊

加载中
0
起个起个名字都难
起个起个名字都难

mysql有date和datetime类型,java只有Date,到页面用format格式化呗。你这为什么要用两个字段存??

起个起个名字都难
起个起个名字都难
回复 @xujunxing : 数据库中存一个字段,展示的时候分开就行
x
xujunxing
需求中页面展示时是分开了日期和时间
0
木九天
木九天

你这个为什么不用一个字段表示呢,出现这样的问题,用切换格式解决,“yyyy-MM-dd” 和 “hh:mm:ss” 来切割变成你要的时间

s
stormh
回复 @xujunxing : 前端自行分拆就可以了,不需要强行分拆出2个字段存在数据库。
x
xujunxing
这个需求页面中,要分开展示日期和时间啊
0
木九天
木九天
没事的,可以用一个方法再把这两个字段单独分出来,你这样也可以SimpleDateFormate这个可以把你需要的弄出来
0
前端大师傅
前端大师傅

楼上都说错了,出现这个问题的原因很明显:

1.是楼主在存储时使用的数据类型导致精度丢失,record_time存的是时间的字符串,即用的是varchar而存的是时间字符!

2.楼主的时间字段总是显示1970-1-1则是在ORM 作映射时调用时间解析方法(类Date.parse("字符串“))时如果没有日期则默认为1970-1-1因为unix或java时间戳的0 是1970-1-1,在作转换时是将时间8:0:0转为时间戳再加上0所以你的时间总是1970-1-1 加上时间。

3.如果解决这个问题则要自定义一个视图再把视图作orm映射。而自定义的视图查询要这样查:

select concat(record_date,' ',record_time)

将时间和日期合并,这样再用orm工具时就不会出现1970-1-1了。

 

返回顶部
顶部