golang默认采用UTC,即Unix标准时间。而一般情况下,我们存数据库采用的是中国时间,即CST;
UTC和CST一般相差8个小时;
time.Now()输出默认CST时区时间;
time.Parse()默认输出UTC时区时间。
所以在使用time.Format时如果不注意会出现时间对不上相差8个小时的问题。

解决方法如下:

通过time.Unix转为时间类型 函数认为接收的时间戳是UTC 并会结果默认转为中国时区,

当前问题如果 接收到的时间戳是当前中国CST时区时间,那么最终得到的时间就成了 CST时间戳+8小时后的时间。

所以在这里需要这样处理

time.Unix(timestamp, 0).UTC().Format("2006-01-02 15:04:05")