东八区与0时区
东八区
我们所在地域使用的是 东八区 时区,所以平常使用的电脑设置的多是东八时区
js获取的时间格式
0时区
0时区 也叫 协调世界时
js获取的时间格式
数据库读取时间数据
平常从数据读取的时间默认是0时区的,成以下格式:
2024-12-19T21:10:45.320Z
正常存的时间如果是东八区的,哪怕读取的是0时区的格式,也可以js直接转换使用;但如果数据库存的是0时区的格式 ,这时就需要手动先转为东八区再使用
示例1
数据库存的是正常时间格式(类似字符串格式)
读取的虽然是0时区格式,但经过js转换后还是与上面一致
示例2
如果数据库里存的是0时区格式
数据库读取的是0时区,转换后是东八区(根据电脑的默认设置),与上面时间不一样,这时需要转为0时区时间字符串再使用(或者在读取数据时直接用sql语句转换好在输出)
MySQL 转换方法
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') AS formatted_datetime;
SQL Server 转换方法
SELECT FORMAT(GETDATE(), 'yyyy-MM-dd HH:mm:ss') AS formatted_datetime;
参考
js处理日期时区问题的解决方案 - 工具人Kim哥 - 博客园