mongoDB导致时间相差8小时的解决方法
结论:放弃mongodb数据库本身的date类型,使用number类型替代。(一会说为什么)
在开发过程中,特别的是数据库的创建中,我们希望可以确定每个字段或是变量的类型,方便我们查询和计算。
但是mongodb的date类型对我们东八区却不是很友好。在我们存入时间的时候给我们减少8个小时,在我们获取时间的时候给我们加上8的小时。
目前网上有几种方法:
1.在取时间的时候加八小时。这里有问题,如果是跨天的、跨月的我们不好相加,虽然可以换算成毫秒相加,但是有的时候取出来的数据不能换算,所以第一种方法,直接pass。
2.在gui界面修改,这个简直了,我怀疑他们在用Excel。
下面说说我遇到的问题,其实这个问题主要集中的mongooes插件里面。
由于的我的数据库需要多种语言连接,所以我希望数据库里的时间是正确的,这样我就不用考虑加减的问题了。
所以我在存储时间的时候,选择了存储时间的毫秒数。(python获取到的是秒,我们需要乘以1000让小数点后移动三位,变成毫秒后存储),等到取值时再使用node的silly-datetime插件来格式化毫秒数,这样就不会因为mongo数据库date类型而导致时间的相差+8或是-8小时了。
python获取毫秒:
nowTime=time.time() #得到的当前时间秒数
nowTime=nowTime*1000 #将小数点后移动三位,得到毫秒数
js/node获取毫秒数:
new Date().getTime() // 获取到当前时间的毫秒数
silly-datetimg格式化毫秒数:
const SDTime=require("silly-datetime");
let t=SDTime.format(0,'YYYY-MM-DD HH:mm:ss');
let t2=SDTime.format(1621907636771,'YYYY-MM-DD HH:mm:ss');
console.log(t) //1970-01-01 08:00:00
console.log(t2) //2021-05-25 09:53:56
关于数据库的操作这里就不讲了。
mongoDB导致时间相差8小时的解决方法相关推荐
- php源码 时间慢8小时 etc gmt,PHP 中 Date 函数与实际时间相差8小时的解决方法
PHP 中的 date() 函数显示的时间是格林威治时间,和北京时间正好相差8个小时,其他时间相关的函数,如 strtotime() 也有相同的问题,同样可以通过下面的方法来解决: 1. 修改php. ...
- Linux系统时间比现在时间快8小时的解决方法
Linux系统时间比现在时间快8小时的解决方法: 1.vi /etc/sysconfig/clock #编辑文件 ZONE="Asia/Shanghai" UTC=false #设 ...
- php时间函数不准确,PHP中DATE函数与实际时间相差8小时的解决办法
一.问题原因 从php5.1.0开始,php.ini里加了date.timezone这个选项,并且默认情况下是关闭的.DATE()函数显示的时间都是格林威治标准时间,和北京时间相差正好8个小时.其他时 ...
- java获取系统时间差_java获取系统时间与实际相差8小时的解决方法
Java ConcurrentModificationException异常原因和解决方法 在前面一篇文章中提到,对Vector.ArrayList在迭代的时候如果同时对其进行修改就会抛出java.u ...
- mysql timestamp 晚8小时_mysql插入timeStamp类型数据时间相差8小时的解决办法
以管理员身份登陆mysql 执行以下语句 mysql > SET time_zone = '+8:00'; # 此为北京时,我们所在东8区 mysql> flush privilege ...
- mysql插入timeStamp类型数据时间相差8小时的解决办法
以管理员身份登陆mysql 执行以下语句 mysql > SET time_zone = '+8:00'; # 此为北京时,我们所在东8区 mysql> flush privil ...
- Linux时间与系统时间相差8小时的解决办法
原因是时区不同 在/etc/profile文件中增加一行 export TZ='CST-8' 使文件立即生效 source /etc/profile 或者 . /etc/profile
- 关于win10系统下,同步与windows网络时间后,时间较实际时间慢1小时的解决方法
本人新装的双系统,一个为win10 企业版 1809版系统,另一个为ubuntu18.04.win10是MSDN下载的镜像,安装好后,发现ubuntu系统时间正常,但win10系统慢正常时间1小时,排 ...
- 群晖DSM docker时区与宿主机时区不一致(相差八小时)情况解决方法
增加的环境变量如下: TZ CST-8
最新文章
- 吴文俊人工智能科学技术奖:陆汝钤院士、百度王海峰等获奖
- Know more about CBO Index Cost
- ECshop--搜索模块细究
- python相对路径下的shell_shell,python获取当前路径(脚本的当前路径) (aso项目记录)...
- php多级查询,MySQL 多级查询
- 数据结构上机实践第八周项目7—对称矩阵的压缩存储及基本运算
- idea 自动导入包操作及快捷键
- 2022年考研计算机组成原理_2 数据表示和运算
- hdu1829 A Bug's Life
- Servlet3异步原理
- windows | RDPWrap 远程桌面登录增强工具,长期提供多版本 rdpwrap.ini配置文件 [可灵活设置多人同时登录、一键改变配置]
- mysql max connects_出现mysql max-connections问题解决解决办法
- python 学习(八—1) 项目:生成随机的测试试卷文件
- 运指如飞 拼音输入法三剑客功能横测!
- ❤️数据可视化❤️:基于Echarts + GeoJson实现的地图视觉映射散点(气泡)组件【10】 - 黑龙江省
- 2020 第三届江西省高校网络安全技能大赛 线上赛Writeup
- Java网课基础笔记(9)19-07-21
- 图片翻译成中文其实很简单,只需这几步
- 走进掌榕:正和岛青年徽商正和塾小组2021年首聚
- 云计算超融合一体机,加速企业互联网下半程