以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函数加八小时查询

关系型数据库跨时区查询简介

~~~

~~~

相关文章:

  • 2021-12-26
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-14
  • 2022-12-23
  • 2022-01-29
  • 2021-12-31
  • 2021-10-10
  • 2022-01-12
相关资源
相似解决方案