我想問下在web設置時間,可是存儲在mysql的時間相差了8小時。這是怎麽回事

例如我設置時間為2021-07-28 12:04:03,可是mysql存儲的時間為2021-07-28 4:04:03 .
但我在mysql查詢select now();顯示的時間與本地一致,
在js用moment('2021-07-28T12:04:03.000Z').format('YYYY-MM-DD hh:mm:ss')設置時間

阅读 2.2k
2 个回答

1.时间戳是绝对的,时间字符串是相对的
2.时间戳比较就是数值比较,时间字符串肉眼看上去的信息确实可以比较,但是也相对的少了一些信息。
3.“2021-07-28 12:04:03”(浏览器时区) 和 “2021-07-28 4:04:03”(服务端时区)可以对应同一个时间戳,因为你看到的这两个字符串缺少了时区信息。
4.如果统一保存时间戳当然不会出什么问题。如果存时间字符串,那么需要的排查的地方就有很多,比如前端传递到后端的是什么,后端拿到参数有没有解析,往数据库存的时候有没有处理,数据库对应的字段类型是什么。

差了一个时区+0800的信息, 检查一下服务器, 数据库的时区设置.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题