JS操作时间 - UNIX时间戳的简单介绍(必看篇)

发布时间 - 2026-01-11 02:48:29    点击率:

准备知识

GMT(Greenwich Mean Time) - 格林尼治时间。UTC(Universal Time Code) - 国际协调时间。PST(Pacific Standard Time,太平洋标准时间)。

UTC出现的比GMT时间晚,可以认为UTC时间更加精确,不过它们之间只相差几秒钟。

UTC开始时间为:1970-01-01T00:00:00.000Z(这种时间设置可以一直精确到毫秒,字母T和Z仅仅是一种格式)

UNIX时间戳指的是从1970-01-01T00:00:00.000Z到现在的毫秒数。(1s=1000ms)

本文需要用到的时间规定如下:

机器时间 - UNIX时间戳。(mTime)

人类时间 - 人类可读的各种时间。(hTime)

标准字符串时间 - 1970-01-01T00:00:00.000Z(stdStrTime)

GMT时间 - Tue, 15 Aug 2017 13:58:23 GMT(gmtTime)

需求描述

我们日常生活中要表示时间,方法非常之多,打在屏幕上就是各种字符串,另外我们还要考虑到外国人表示时间的方法。比如下面这些都可以表示某个时间:

2017年8月15日20:51:22

2017.08.15

2017-08-15 AM

6/13/2004

January 12, 2004

Tue May 25 2004 00:00:00 GMT-0700

1970-01-01T00:00:00.000Z

那么问题来了,上面这些时间表示方法格式完全不统一,如果我设计个程序要求某些东西在指定时间运行,我们该怎么表示这个时间呢?在计算机编程中我们一般用一种最标准的时间表示方式:UNIX时间戳。这种时间表示方法精确到毫秒,表示方法唯一,非常适合编程处理。

核心函数

new Date()

参数可以是机器时间,参数为空时表示把当前机器时间传入。返回值是标准字符串时间。

// 参数为空时
var stdStrTime = new Date();
console.log(stdStrTime);
// output: 2017-08-15T14:22:08.385Z
var gmtTime = stdStrTime.toUTCString();
console.log(gmtTime);
// output: Tue, 15 Aug 2017 14:22:08 GMT

// 参数不为空时
var stdStrTime = new Date(1502769188084);
console.log(stdStrTime);
// output: 2017-08-15T03:53:08.084Z
var gmtTime = stdStrTime.toUTCString();
console.log(gmtTime);
// output: Tue, 15 Aug 2017 03:53:08 GMT

转成GMT时间也可以用函数toGMTString(),该方法现在已经不推荐使用。

Date.parse()

参数为标准字符串时间,返回值是对应的机器时间。

var stdStrTime = "2017-08-15T03:53:08.084Z";
var mTime = Date.parse(stdStrTime);
console.log(mTime);
// output: 1502769188084

2个问题

在JS中操作时间,和在其它语言中操作时间原理上相似,核心就是解决2个问题:

把机器时间转|成人|类时间

把人类时间转成机器时间

得到当前机器时间

console.log(Date.now());
// ouput: 1502802483928

得到当前人类时间

var stdStrTime = new Date();
console.log(now);

上面的代码在Chrome环境中输出雷氏与这样:Tue Aug 15 2017 21:09:46 GMT+0800 (China Standard Time)。在Node.js环境中输出类似与这样:2017-08-15T13:06:34.806Z

给出标准字符串时间转成机器时间

var stdStrTime = "2004-05-25T00:00:00.000Z";
var mTime = Date.parse(humanTime);
console.log(machineTime);
// output: 1085443200000

给出机器时间转成标准字符串时间

var mTime = 1085443200000;
var stdStrTime = new Date(mTime);
console.log(stdStrTime);
// output: 2004-05-25T00:00:00.000Z

参考书籍

JavaScript高级程序设计第三版

以上这篇JS操作时间 - UNIX时间戳的简单介绍(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# unix时间戳  # vue.js将unix时间戳转换为自定义时间格式  # JavaScript输出当前时间Unix时间戳的方法  # js时间戳与日期格式之间相互转换  # javascript时间戳和日期字符串相互转换代码(超简单)  # 利用 filter 机制给静态资源 url 加上时间戳  # 来防止js和css文件的缓存问题  # JS获取时间的相关函数及时间戳与时间日期之间的转换  # JS根据Unix时间戳显示发布时间是多久前【项目实测】  # 转成  # 为空  # 格林尼治  # 给大家  # 返回值  # 来了  # 可以用  # 太平洋  # 推荐使用  # 希望能  # 仅仅是  # 考虑到  # 时间为  # 这篇  # 日常生活  # 该怎么  # 之多  # 指的是  # 必看  # 小编 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何用VPS主机快速搭建个人网站?  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  Python文件操作最佳实践_稳定性说明【指导】  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  如何在景安云服务器上绑定域名并配置虚拟主机?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  使用Dockerfile构建java web环境  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  如何撰写建站申请书?关键要点有哪些?  LinuxCD持续部署教程_自动发布与回滚机制  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  HTML 中如何正确使用模板变量为元素的 name 属性赋值  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  如何破解联通资金短缺导致的基站建设难题?  如何实现建站之星域名转发设置?  如何快速打造个性化非模板自助建站?  简单实现jsp分页  微信小程序 canvas开发实例及注意事项  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  高端网站建设与定制开发一站式解决方案 中企动力  javascript中闭包概念与用法深入理解  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  如何快速查询域名建站关键信息?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  Laravel如何处理异常和错误?(Handler示例)  在线制作视频的网站有哪些,电脑如何制作视频短片?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  IOS倒计时设置UIButton标题title的抖动问题  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  Swift中switch语句区间和元组模式匹配  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  iOS正则表达式验证手机号、邮箱、身份证号等  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  如何用腾讯建站主机快速创建免费网站?  郑州企业网站制作公司,郑州招聘网站有哪些?  如何在服务器上配置二级域名建站?  Android自定义listview布局实现上拉加载下拉刷新功能  android nfc常用标签读取总结  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  用v-html解决Vue.js渲染中html标签不被解析的问题  网站制作大概多少钱一个,做一个平台网站大概多少钱?  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  北京网站制作公司哪家好一点,北京租房网站有哪些?