1.查看数据库时区
数据库查看时区
show time zone;
如果发现自己的时区是对的,那就跳过修改时区这一步。
数据库设置成东八区 北京时间 UTC+8
set time zone 'PRC';
2.遇到的问题
我遇到的问题是,导出excel后表格中的时间不对
数据库查询时间:正常
后台查询时间:正常 (因为后端设置过时区,设置方法:点这里)
导出excel接口返回的数据:正常
但是导出excel表中的数据:错误
3.问题分析
一直到最后一步,后台将正确数据传给excel才发生错误。
因为timestamp不带时区,从postgresql中提取出标准时间(TIMESTAMP)转换为unix时间戳的时候,pg默认把这个标准时间是当做格林尼治时间处理的,格林尼治时间要比东八区时间慢8个小时。
解决问题:
因为是timestamp 转化后出现的问题,所以不如让他不进行转换,直接在数据库查询时,将它变为varchar类型。
4.问题解决
时间正常显示