坑点描述

本地时间

Fri Sep 01 2017 00:00:00 GMT+0800 (China Standard Time)

上传到mongoose数据库

ISODate(“2017-08-31T16:00:00.000+0000”)

这是一个隐藏的坑点,上传到mongoose的时间类型数据会自动被转化为格林尼治时间(零时区时间)。

而我们当前的时区为东八区,换算成零时区时间需将我们的时间减去八个小时

网上看了下大多数的解决方案是将上传之前本地时间减去八小时,数据库中读取数据时就可以直接取到正确的时间,然而这么做这么做又引入了一个新的BUG,若当前时区不是东八区,这种操作会返回一个错误的时间,因为世界各地转化为格林尼治标准时间的时差不同。

终极解决方案

在从数据库读取到时间以后,使用new Date(time)方法可以自动转化为当前时区时间。

console.log($scope.currentType.updated);    //2017-08-30T04:10:04.713Z
console.log(new Date($scope.currentType.updated));  //Wed Aug 30 2017 12:10:04 GMT+0800 (China Standard Time)

END

mongoose时间自动转化为格林尼治标准时间的解决方案相关推荐

  1. excel将字段自动转化为科学计数法解决方案

    excel有个比较蛋疼的功能,就是你超过11位的数字会自动被转换为科学计数法表示,但有时候我们只希望以文本显示(比如一个订单号,变成科学计数法就没法看了),这时候如果是用代码生成的csv文件,可以在字 ...

  2. UTC世界标准时间、GMT格林尼治标准时间、中国标准时间北京时间

    遇到的现象 let newObj = JSON.parse(JSON.stringify(obj)),假设对象obj有属性time: 如果time的值是new Date(), 则newObj得到的拷贝 ...

  3. 将2019-02-14 转化为 格林尼治时间

    // 将2019-02-14转化为格林尼治时间 GlobalDatas.parseDateToShiJianChuo = function (date) {var ret = new Date(dat ...

  4. 从Internet时间服务器获取标准格林尼治时间

    从Internet时间服务器获取标准格林尼治时间 由于本机系统时间不准确,所以决定从Internet 时间服务器获取标准时间来校正  系统时间,说干就干. 程序设计步骤如下: 1.  新建一个工程: ...

  5. python 连续矫正_Python实现系统时间自动校正 | 学步园

    最近由于台式机CMOS电池没电了,每次开机后系统时间都会被初始化.出于每次都要重新设置系统时间太麻烦的考虑,今天用Python实现了系统开机自动校正时间的程序.大致的思路是:首先产生一个windows ...

  6. Android 系统时间自动更新机制

    两种时间更新机制 NITZ NITZ(Network Identity and Time Zone,网络标识和时区),是一种用于自动配置本地的时间和日期的机制,同时也通过无线网向移动设备提供运营商信息 ...

  7. Android 系统时间自动更新机制--解决 “时间和日期不准确“

    两种时间更新机制 NITZ NITZ(Network Identity and Time Zone,网络标识和时区),是一种用于自动配置本地的时间和日期的机制,同时也通过无线网向移动设备提供运营商信息 ...

  8. js中关于时间格式转化,时间大小比较的方法

    一.时间格式的转换 标准时间格式:Mon Aug 08 2022 16:08:28 GMT+0800 (中国标准时间) 时间戳:格林威治时间1970年01月01日00时00分00秒(北京时间1970年 ...

  9. element-UI组件之日期时间选择器与时间格式转化

    element-UI组件之日期时间选择器与时间格式转化 日期选择器与时间选择器的一般使用 日期时间选择器 选择日期时间点 选择日期范围 日期选择器 月份范围选择器 禁选日期 用time.getTime ...

  10. 可设置指定时间自动消失的 MessageBox实现

    本文主要是讲如何实现可设置指定时间自动消失的 MessageBox提示框ShowMessageBoxTimeout实现: 在开发客户端应用程序的时候,经常用得WinForm中MessageBox提示框 ...

最新文章

  1. Linux下C语言线程池的实现(1)
  2. python3.5全局解释器锁GIL-实现原理浅析
  3. C语言基础知识【常量】
  4. Qt学习笔记之SQLITE数据库
  5. java文件学生_文件存储学生信息(JavaIO流)
  6. (记录合并)union和union all的区别
  7. LIBRARY_PATH和LD_LIBRARY_PATH
  8. 士兵杀敌 三 --- O( 1 ) 的时间复杂度 .
  9. 锐浪报表加载List泛型数据
  10. Ps 2021教程,如何更换证件照背景?
  11. Andriod Studio 安装过程
  12. 【如何注销华为云账号(解绑合作伙伴)】
  13. 竞赛最好用的平衡树-Size Balanced Tree(SBT)【建议收藏】
  14. 抽象类:小样儿(接口),我一眼看出你就不是人(抽象类)
  15. js.offsetParent属性
  16. ZOJ3380_Patchouli's Spell Cards_概率DP
  17. JVM平台上的响应式流(Reactive Streams)规范
  18. 从宝丽来到数字电影——图像与视频色彩的科学
  19. 2020年投资理财计划 | 新股申购
  20. 研发费用如何进行帐务处理呢?

热门文章

  1. 关于符号Symbol第二篇
  2. 记一次Exception in thread main java.lang.NullPointerException异常
  3. 批发商/分销商会有一波向B2B转型的浪潮
  4. 应用程序错误,如何解决?急
  5. 【BZOJ2794】[Poi2012]Cloakroom 离线+背包
  6. 在线教育发展前景广阔
  7. 张家港、张家口、张家界、张家川
  8. 周末鸡汤|电子游戏教给你的人生一课 from Quora
  9. java游戏猿人时代_猿人时代BT版_JAVA游戏免费版下载_7723手机游戏[www.7723.cn]
  10. 阿里云游戏服务器攻击怎么防御?