UTC时间,本地时间,moment,时间 详解

一、背景

  1. utc时间和北京时间:
    utc:世界协调时,以英国格林威治时间为准
    utc时间和北京时间相差8小时;
    北京时间:2021-1-1 22:18 <==> utc时间:2021-1-1 14:18

  2. 时间戳timestamp
    概念:某个utc时间到utc1970-1-1凌晨经过的毫秒数
    北京时间:1970-1-1 00:08:00 时间戳 0
    utc时间:1970-1-1 00:00:00 时间戳 0

  3. 对服务器的影响:
    服务器可能部署到任何国家,服务器内部应使用utc时间或书剑戳,包括数据库。

  4. 对客户端的影响:
    客户端要给用户看,应该吧时间戳或utc时间转换为本地时间

二、moment基本使用

//   cnpm i moment -S
const moment = require('moment')
moment.locale("zh-cn") //中文//得到当前时间
console.log('得到当前时间')
console.log(moment().toString())
console.log(moment.utc().toString())//得到时间戳 是同一个时刻(运行时间会算进去)
console.log('得到时间戳 是同一个时刻(运行时间会算进去)')
console.log(moment().valueOf())
console.log(moment.utc().valueOf())//根据指定时间格式得到时间 时间格式:YYYY-MM-DD YYYY/MM/DD ...
console.log('根据指定时间格式得到时间 时间格式:YYYY-MM-DD YYYY/MM/DD ...')
const val = "1970-01-01 00:00:00"
console.log(moment(val).toString(), +moment(val))
console.log(moment.utc(val).toString(), +moment.utc(val))
//根据打印结果可知,相同时间,实际代表的日期不同(时间戳不同),所以要规定使用utc时间统一//使用日期令牌转换
console.log('使用日期令牌转换')
//令牌是一个格式化的字符串,例如: "YYYY-MM-DD HH:mm:ss"
const formats = ["YYYY-MM-DD HH:mm:ss", "YYYY-M-D H:m:s", "x"];
console.log(moment.utc("1970-01-01 00:00:00", formats, true).toString());
console.log(moment.utc("1970-1-1 0:0:0", formats, true).toString());
console.log(moment.utc(0, formats, true).toString());
const invalidMoment = moment.utc("Thu Jan 01 1970 00:00:00 GMT+0000",formats,true
);
console.log(invalidMoment.isValid()); //判断是否是有效日期: false
console.log(invalidMoment.toString());
console.log(+invalidMoment);// 显示(发生在客户端)
console.log('显示(发生在客户端)')
let m = moment.utc("2015-1-5 23:00:01", formats, true);
// utc时间转换本地时间
console.log(m.local().format("YYYY年M月D日 HH点mm分ss秒"));m = moment("2015-1-5 23:00:01", formats, true);//本地时间转化utc时间传给服务器
const toServer = m.utc().format("YYYY-MM-DD HH:mm:ss");
console.log(toServer);m = moment("2021-8-31 23:40:01", formats, true);
console.log(m.local().fromNow(),m);

UTC时间,本地时间,moment,时间 详解相关推荐

  1. GPS北斗卫星主时钟(NTP网络时间服务器)技术参数详解

    GPS北斗卫星主时钟(NTP网络时间服务器)技术参数详解 GPS北斗卫星主时钟(NTP网络时间服务器)技术参数详解 主时钟(北斗二代卫星同步时钟,GPS北斗双模时钟服务器,GPS时间同步系统)是我司开 ...

  2. php时间函数引入,PHP日期和时间函数的使用示例详解

    (1)查看日期函数拓展 phpinfo() phpinfo(); 打开上述页面之后,可以看到以下,证明已经安装日期拓展 浏览器输入php.net访问php的文档 (2)设置时区 方式一:修改配置文件p ...

  3. Android 系统(214)---Android 7.1.1时间更新NITZ和NTP详解

    Android 7.1.1时间更新NITZ和NTP详解 1.NTP和NITZ简介 最近在项目中遇到手机首次插上移动卡时不能自动更新时间的问题,就特意跟了下Android系统中手机时间更新有两种方式NT ...

  4. php打印出前一天时间戳,使用php 获取时间今天明天昨天时间戳的详解

    使用php 获取时间今天明天昨天时间戳的详解 更新时间:2013年06月20日 11:13:28   作者: 本篇文章是对用php获取时间今天明天昨天时间戳的实现方法进行了详细的分析介绍,需要的朋友参 ...

  5. linux中etc下的hosts(本地IP解析)文件详解

    linux中etc下的hosts(本地IP解析)文件详解 1./etc/hosts(本地解析) 很多人一提到更改hostname首先就想到修改/etc/hosts文件, 认为hostname的配置文件 ...

  6. html5 php 数据库操作,HTML_HTML5本地数据库基础操作详解,下面分别介绍本地数据库的各 - phpStudy...

    HTML5本地数据库基础操作详解 下面分别介绍本地数据库的各个API及其使用方法. 1.利用openDatabase创建数据库 我们可以利用openDatabase方法创建数据库.openDataba ...

  7. C程序中对时间的处理——time库函数详解转

    包含文件:<sys/time.h> <time.h> 一.在C语言中有time_t, tm, timeval等几种类型的时间 1.time_t time_t实际上是长整数类型, ...

  8. php时间擢,PHP时间戳函数详解

    本文主要和大家分享PHP时间戳函数详解,主要以代码的形式和大家分享,希望能帮助到大家. echo "世界末日时间戳为:".strtotime("2012-12-21&qu ...

  9. Python标准库:datetime 时间和日期模块 —— 时间的获取和操作详解

    datetime 时间和日期模块 datetime 模块提供了以简单和复杂的方式操作日期和时间的类.虽然支持日期和时间算法,但实现的重点是有效的成员提取以进行输出格式化和操作.该模块还支持可感知时区的 ...

  10. java基础(11)(时间,日期,日历详解以及他们之间的转换)

    Date类 简介 Date类是java.util包下的类,继承父类java.lang.Object,已实现的的接口有Serializable,Cloneable,Comparable<Date& ...

最新文章

  1. Android studio 编译器导入一个背景图片
  2. ZABBIX 4.0 LTS+Grafana5.3部署
  3. 哇哦!恍然大悟般的“share”功能的实现!
  4. Gartner:大数据和BI商业智能的差别和影响
  5. 自定义myeclipse中的servlet模板文件
  6. linux 后台计算,科学网-如何在Linux中做批处理和后台计算-张彦的博文
  7. SU(Seismic Unix)与CUDA的混合编程
  8. 【QT】QT从零入门教程(十三):QT画笔工具QPainter (双缓冲绘图)
  9. 【例题】利用伴随矩阵求逆矩阵
  10. 清理linux 系统内存缓存
  11. java button属性设置_java的JButton怎样设置内边距
  12. 如何防御ddos攻击?
  13. 【渝粤题库】陕西师范大学292021 初级宏观经济学 作业(高起专)
  14. 来说一下!线雕的副作用和危害有哪些?妈耶
  15. 【Unity插件】游戏摇杆Joystick
  16. 收银系统连接授权服务器失败,超市收银系统错误-COMException 依赖服务或组无法启动(0x8007042C)处理办法...
  17. GAMES101作业6-BVH完成全过程
  18. Oracle从磁带恢复备份集,从磁带恢复归档出现ORA-19870错误
  19. mac office
  20. Hybrid的配置(一)

热门文章

  1. Red Hat 服务配置实验day02
  2. 攻防世界-command_execution
  3. oracle建倒序索引,使用倒序索引提升ORDER BY DESC性能
  4. RTP协议详解(荷载H264)
  5. Pytorch学习笔记04----梯度下降算法
  6. ofstream的使用方法(转)
  7. C++ 使用ofstream 存文件【工程化】
  8. Android开发单选按钮功能,Android单选按钮RadioButton的使用详解
  9. 思科路由器-配置RIPv2
  10. IOS Layer的使用