在Mysql中使用时间格式会用到的时间类型有四种:
Date、DateTime、TimeStamp、Time
Time
名称 | 解释 |
---|---|
显示格式 | HH:mm:ss |
显示范围 | 00:00:00 到 23:59:59 |
应用场景 | 当业务需求中只需要每天的时间,可以用这个时间格式 |
TimeStamp
名称 | 解释 |
---|---|
显示格式 | YYYY-MM-DD HH:mm:ss |
显示范围 | 1970-01-01 00:00:01.000000 到 9999-12-31 23:59:59.999999 |
应用场景 | 当业务需求中需要精确到秒或者毫秒时,或者该系统用于不同时区,可以用这个时间格式 |
DateTime
名称 | 解释 |
---|---|
显示格式 | YYYY-MM-DD HH:mm:ss |
显示范围 | 1000-01-01 00:00:00 到 9999-12-31 23:59:59 |
应用场景 | 当业务需求中需要精确到秒时,可以用这个时间格式 |
Date
名称 | 解释 |
---|---|
显示格式 | YYYY-MM-DD |
显示范围 | 1901-01-01 到 9999-01-01 |
应用场景 | 当业务需求中只需要精确到天时,可以用这个时间格式 |
解析:
Date、DateTime、Time 三者显示以及精度都不一样,这里需要注意的是DateTime和TimeStamp。
DateTime和TimeStamp都可以精确到毫秒,低版本mysql中DateTime只能精确到秒,高版本中可以精确到毫秒;一般使用TimeStamp精确到毫秒;在使用不同时区时建议使用TimeStamp。
测试:
表结构:
跑出结果: