结论:放弃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小时的解决方法相关推荐

  1. php源码 时间慢8小时 etc gmt,PHP 中 Date 函数与实际时间相差8小时的解决方法

    PHP 中的 date() 函数显示的时间是格林威治时间,和北京时间正好相差8个小时,其他时间相关的函数,如 strtotime() 也有相同的问题,同样可以通过下面的方法来解决: 1. 修改php. ...

  2. Linux系统时间比现在时间快8小时的解决方法

    Linux系统时间比现在时间快8小时的解决方法: 1.vi /etc/sysconfig/clock #编辑文件 ZONE="Asia/Shanghai" UTC=false #设 ...

  3. php时间函数不准确,PHP中DATE函数与实际时间相差8小时的解决办法

    一.问题原因 从php5.1.0开始,php.ini里加了date.timezone这个选项,并且默认情况下是关闭的.DATE()函数显示的时间都是格林威治标准时间,和北京时间相差正好8个小时.其他时 ...

  4. java获取系统时间差_java获取系统时间与实际相差8小时的解决方法

    Java ConcurrentModificationException异常原因和解决方法 在前面一篇文章中提到,对Vector.ArrayList在迭代的时候如果同时对其进行修改就会抛出java.u ...

  5. mysql timestamp 晚8小时_mysql插入timeStamp类型数据时间相差8小时的解决办法

    以管理员身份登陆mysql 执行以下语句 mysql > SET time_zone = '+8:00';   # 此为北京时,我们所在东8区 mysql> flush privilege ...

  6. mysql插入timeStamp类型数据时间相差8小时的解决办法

    以管理员身份登陆mysql 执行以下语句 mysql > SET time_zone = '+8:00';   # 此为北京时,我们所在东8区    mysql> flush privil ...

  7. Linux时间与系统时间相差8小时的解决办法

    原因是时区不同 在/etc/profile文件中增加一行 export TZ='CST-8' 使文件立即生效 source /etc/profile 或者 . /etc/profile

  8. 关于win10系统下,同步与windows网络时间后,时间较实际时间慢1小时的解决方法

    本人新装的双系统,一个为win10 企业版 1809版系统,另一个为ubuntu18.04.win10是MSDN下载的镜像,安装好后,发现ubuntu系统时间正常,但win10系统慢正常时间1小时,排 ...

  9. 群晖DSM docker时区与宿主机时区不一致(相差八小时)情况解决方法

    增加的环境变量如下: TZ CST-8

最新文章

  1. 吴文俊人工智能科学技术奖:陆汝钤院士、百度王海峰等获奖
  2. Know more about CBO Index Cost
  3. ECshop--搜索模块细究
  4. python相对路径下的shell_shell,python获取当前路径(脚本的当前路径) (aso项目记录)...
  5. php多级查询,MySQL 多级查询
  6. 数据结构上机实践第八周项目7—对称矩阵的压缩存储及基本运算
  7. idea 自动导入包操作及快捷键
  8. 2022年考研计算机组成原理_2 数据表示和运算
  9. hdu1829 A Bug's Life
  10. Servlet3异步原理
  11. windows | RDPWrap 远程桌面登录增强工具,长期提供多版本 rdpwrap.ini配置文件 [可灵活设置多人同时登录、一键改变配置]
  12. mysql max connects_出现mysql max-connections问题解决解决办法
  13. python 学习(八—1) 项目:生成随机的测试试卷文件
  14. 运指如飞 拼音输入法三剑客功能横测!
  15. ❤️数据可视化❤️:基于Echarts + GeoJson实现的地图视觉映射散点(气泡)组件【10】 - 黑龙江省
  16. 2020 第三届江西省高校网络安全技能大赛 线上赛Writeup
  17. Java网课基础笔记(9)19-07-21
  18. 图片翻译成中文其实很简单,只需这几步
  19. 走进掌榕:正和岛青年徽商正和塾小组2021年首聚
  20. 云计算超融合一体机,加速企业互联网下半程

热门文章

  1. Hibernate中的注解说明
  2. 做数据分析,要懂多少模型
  3. 老闪创业那些事儿(84)——地面网络是怎么管理的
  4. matlab鱼群仿真程序,人工鱼群算法的仿真程序-matlab
  5. 往事如烟 - 爱分享的老左
  6. Android Studio创建一个安卓项目
  7. misc与简单的密码知识(ctfwiki
  8. java如何读写操作yaml文件展示
  9. 15-5衍生金融工具
  10. CSS权威指南(五)字体