以PostgreSQL为例
PostgreSQL时间日期相关文档
http://postgres.cn/docs/9.4/functions-datetime.html
创建表
-- 自增主键 -- created与updated都是默认的 create table student ( id serial primary key, name varchar(32), score integer, created timestamp with time zone default now(), updated timestamp with time zone default now() );
查看一下时区与“当前时间/日期等”
或者可以:
查询一下当前的日期:
插入几条默认数据
insert into student(name,score) values('whw1',88),('naruto1',99),('whw2',88),('naruto3',99),('whw4',88),('naruto5',99),('whw6',88),('naruto7',99)
查看一下表结构及结果结果:
可以看到,因为数据库选用的失去是UTC,所以插入数据时默认时间都是UTC时间,比当前的时间晚了8个小时。
东八区的零点其实就是UTC时区的16点!
东8区的零点其实就是UTC时区的16点!
所以:东八区的19号的0点到24点,实际上对应UTC时区的18号的16点到19号的16点!
查询19日创建的数据
修改其中几个时间到下午16点之后还用date函数直接查会有问题
此时再用date函数直接查会有问题:
date函数加八小时查询
~~~
~~~