timestamp与datatime的坑

来源:互联网 发布:网络哪个国家强 编辑:程序博客网 时间:2024/06/09 19:22

最近做mysql与sqlserver的数据同步,发现sqlserver中的时间同步过来是TC什么的,,才看到timestamp原来是根据时区来的,出现这个的原因是因为mysql与sqlserver的时区设置不一样 ,在代码中吧时间处理一道   new Date(new Date(lastTime).getTime() - 3600000 * 8).toLocaleString(); 打印出来是这样的话 (2017-08-01T20:08:21.983Z)  差了八个小时  

其实最佳的优化就是使用datatime,然后默认值设置成NOW()(MYSQL),getdate()(sqlserver) 这样就不会出现时区的问题了,而且timestamp能表示的时间范围远远小于datetime的。