JavaScript Date getTime() 方法

JS获取时间戳的五种方法 阅读详情

实例

返回自 1970/01/01 以来的毫秒数:

var d = new Date();
var n = d.getTime();

Date.parse()

Date.parse() 方法解析一个表示某个日期的字符串,并返回从1970-1-1 00:00:00 UTC 到该日期对象(该日期对象的UTC时间)的毫秒数,如果该字符串无法识别,或者一些情况下,包含了不合法的日期数值(如:2015-02-31),则返回值为NaN。

不推荐在ES5之前使用Date.parse方法,因为字符串的解析完全取决于实现。直到至今,不同宿主在如何解析日期字符串上仍存在许多差异,因此最好还是手动解析日期字符串(在需要适应不同格式时库能起到很大帮助)。    

语法

显式调用:

Date.parse(dateString)

隐式调用:

new Date(dateString).getTime()

参数

dateString

一个符合 RFC2822 或 ISO 8601 日期格式的字符串(其他格式也许也支持,但结果可能与预期不符)。

返回值

一个表示从1970-1-1 00:00:00 UTC到给定日期字符串所表示时间的毫秒数的数值。如果参数不能解析为一个有效的日期,则返回NaN。

描述

parse 方法接受一个日期字符串(例如 "Dec 25, 1995"),并返回从1970-1-1 00:00:00 UTC到该日期字符串所表示日期的毫秒数。该方法在基于字符串值设置日期值时很有用,例如结合使用setTime() 方法和 Date() 构造函数。

parse 方法接受一个表示时间的字符串,返回相应的时间值。该方法可以接受符合 RFC2822 / IETF 日期语法 (RFC2822 Section 3.3) 的字符串,如 "Mon, 25 Dec 1995 13:30:00 GMT"。该方法能够理解美国大陆时区的缩写,但是为了更通用,应该使用时区偏移,如 "Mon, 25 Dec 1995 13:30:00 +0430" (格林威治的子午线向东偏移4小时30分钟)。如果没有指定时区,默认使用本地时区。

GMT 和 UTC 被看作相等。 如果 RFC2822 Section 3.3 格式中不包含时区信息时,会以本地时区来解析日期字符串。

由于在解析日期字符串时存在偏差会导致结果不一致,因此推荐始终手动解析日期字符串,特别是不同的ECMAScript实现会把诸如“2015-10-12 12:00:00”的字符串解析为NaN,UTC或者本地时间。

ECMAScript 5 ISO-8601 日期格式支持

另外,日期时间字符串也可以使用 ISO 8601 格式。例如,"2011-10-10" (仅日期)或 "2011-10-10T14:48:00" (日期和时间)能够作为参数被传递和解析。 如果参数字符串只包含日期格式,那么将会使用UTC时区来解析该参数。而如果是ISO 8601 格式中规定的时间加日期的格式,则将会被作为本地时区处理。

虽然在日期字符串解析过程中会使用时区修饰符,但返回值总会是从由NaN表示的1970-1-1 00:00:00 UTC到该日期字符串所表示日期的毫秒数。

由于 parse() 是 Date 的一个静态方法 , 所以应该使用 Date.parse() 来调用,而不是作为 Date 的实例方法。

默认时区的区别

当输入为 "March 7, 2014" 时, parse()  将默认使用本地时区。但如果使用 ISO  格式如 "2014-03-07" ,则会被默认为 UTC (ES5 和 ECMAScript 2015) 时区。  因此除非系统本地时区为 UTC,由这些字符串解析出的 Date  对象可能会因为 ECMAScript  版本不同而代表不同的时间。这意味着两个看起来等效的字符串可能因为它们的格式不同而被转换成不同的值。

引擎相关的日期格式

ECMAScript  规范规定:如果一个字符串不符合标准格式,则函数可以使用任何由引擎决定的策略或解析算法。 Date.parse()  对于因包含有无效元素而无法识别的 ISO 格式字符串或者日期应该返回 NaN 。

但是, 在如 ECMA-262 规范中定义的情况,如果因为无效值而导致日期字符串不能被识别为 ISO 格式时,根据浏览器和给定的值不同,返回值可以是,也可以不是 NaN 。比如:

// 包含无效值的非 ISO 格式字符串
new Date('23/25/2014');

Copy to Clipboard

在 Firefox 30 中会被识别为本地时区的2015年12月25日,而在 Safari 7 中则是无效日期。但是,如果字符串被识别为 ISO 格式并且包含无效值,则在所有遵循 ES5 或者更新标准的浏览器中都会返回 NaN 。

// 包含无效值的 ISO 格式字符串
new Date('2014-25-23').toISOString();
// 在所有遵循 ES5的浏览器中返回 "RangeError: invalid date"

Copy to Clipboard

SpiderMonkey 的引擎策略可以在 jsdate.cpp  中找到。字符串 "10 06 2014"  可以作为非 ISO 格式字符串使用自定义处理方式的例子。参见这篇关于解析如何进行的粗略纲要。

new Date('10 06 2014');

Copy to Clipboard

将会被解析为本地时间 2014年10月6日,而不是6月10日。另一个例子

new Date('foo-bar 2014').toString();
// 返回: "Invalid Date"

Date.parse('foo-bar 2014');
// 返回: NaN

参考链接 

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date/parse 

js获取本周时间,当月的日期,计算两个时间差,距离当前日期后几天的日期 本片文章主要记录一下遇到的问题,js计算当前一周的日期。感兴趣的小伙伴可以学习一下。 阅读详情

相关推荐

JavaScript Date 对象 5 种时间戳方法对比:毫秒精度与性能实测

本文深入对比了JavaScript中5种获取时间戳的方法(Date.now()、getTime()、valueOf()、Date.parse()和Number()),通过毫秒精度与性能实测数据,揭示了它们在精度、性能和使用场景上的差异。帮助开发者根据具体需求选择最优方案,提升代码效率与准确性。

diyu8056的博客 572

date.gettime()返回的是什么?

(一) java.util.Date  -----------  date.getTime()返回的是什么?  问题:  -------------  Date date = new Date();  System.out.println(date.getTime());  输出结果是1210745780625  编译时间当时时间大概是2008年5.14好14.1

heming621的专栏 11万+

js中 new Date().getTime()得到的是毫秒数

js中 var time = new Date().getTime()得到的是毫秒数 0、时间戳转日期字符串 function getLocalTime(nS) { var d = new Date(parseInt(nS)* 1000); //根据时间戳生成的时间对象 var date = (d.getFullYear()) + "-" + (d.get...

易天海 10万+

javaScript Date类型getTime()方法

在做时间转换的时候,发现用“2016-04-12”转出来的时间戳是 2016-04-12 08:00的时间点,而不是0点。 new Date('2016-04-12').getTime(); // 1460419200000 new Date(1460419200000); // Tue Apr 12 2016 08:00:00 GMT+0800 最后发现,如果将日期格式换成“2016/04...

lzc的博客 4611

2023东华大学OJ机试题22-70

东华大学计算机考研复试机试22 约瑟夫环223、整除的尾数24、回文质数25、汽水瓶26、阶乘最后的非0位27、算菜价28、 水果价格29、求奇数的乘积30、求最晚和最早日期31、素数32、计算e33 数字之和34 繁殖问题35 奇妙的数字36 整除的尾数37 黑色星期五38 树39 约瑟夫环40 最大与最小41 环42 求数列项43 最高频率44 三艘船45 回文数46 特殊四位数47 最大值48 数列149 修理牛棚50 按要求输出序列51 部落人乘法52 序列53 双重回文数54 等差数列55 人见人

m0_49263811的博客 2600

Win11 24H2家庭版共享打印机失败?别慌,一个批处理脚本搞定所有设置

本文提供了Win11 24H2家庭版共享打印机失败的解决方案,通过一个批处理脚本自动修复所有设置问题。脚本包含安装组策略组件、修改关键注册表项等操作,帮助用户快速恢复打印机共享功能,适用于普通家庭用户。

weixin_30632089的博客 424

Date.parse()与Date.getTime()方法详解(js获取时间戳的几种方式)

欢迎访问我的个人博客 http://xiaolongwu.cn/ 这两个方法的返回值都是 1970/1/1 午夜距离该日期时间的毫秒数 实际中如何使用 下面的例子中,我们将取得从 1970/01/01 到 2017/03/19 的毫秒数 1、Date.parse()的 使用 var d = Date.parse("2017/03/19") //或者var d = Dat...

积少成多 7万+

多普勒频移测速与FMCW测距

文章目录时域与频域基于多普勒频移估计速度基于传统的FMCW测距什么是FMCWFMCW测距原理参考论文 时域与频域 时域 — 自变量是时间,即横轴是时间,纵轴是信号振幅的变化。表示振幅随时间的变化。 频域 — 自变量是频率,即横轴是频率,纵轴是该频率信号幅度的峰值。表示振幅峰值随频率的变化。 基于多普勒频移估计速度 当发送端静止而接收端相对运动时,有: v=FsFcv=\frac{F^s}{F}cv=FFs​c 其中,F是信号的原始频率;FsF^sFs 是接收信号频率与发送信号频率之差,即多普勒频移;c是

dsaaf21的博客 9190

js的Date.parse()方法和getTime()的陷阱

js的Date.parse()方法和getTime()的陷阱

Android_yinghua的博客 732

数字化车间智能排产调度挑战赛(一)—— 数学模型

科大讯飞——数字化车间智能排产调度挑战赛。

Lyyyp的博客 5653

基于yolov5的鸟类图像准确识别

本项目主要基于yolov5进行鸟类准确识别,主要识别白鹭家族,红脚鹬,反嘴鹬,环颈珩,小白鹭以及夜鹭六类鸟

weixin_46064184的博客 3823

蛋白质组学进阶指南 | (八)差异蛋白筛选与功能解析实战

本文是蛋白质组学差异蛋白筛选与功能解析的实战指南。详细讲解了如何利用R语言的limma包进行差异表达分析,结合FDR校正和差异倍数设定筛选关键蛋白,并通过火山图可视化结果。进一步介绍了使用clusterProfiler进行GO与KEGG功能富集分析,以及利用STRING数据库和Cytoscape构建蛋白互作网络以识别枢纽分子,最终串联分析形成可验证的生物学假说。

weixin_29208077的博客 745

JavaScript(JS) date.getTime()

Date对象是JavaScript语言内建的数据类型。使用新的Date()创建日期对象。本文主要介绍JavaScript(JS) date.getTime() 方法。 原文地址:JavaScript(JS) date.getTime()

亮亮的专栏 586

基于Cohesive单元的二维水力压裂(二)

部件 2D-deformabel-shell 尺寸100 矩形工具(-20,-20)(20,20) 刨分:预知cohesive单元&定位注液点位置,定义全局网格尺寸0.2 X方向采用过渡网格,向中间加密。指定网格类型:CPE4P,指定单元类型,COH2D4P,粘性正则化系数:0.0001 材料属性 材料1 弹性模量10e9,泊松比0.25,渗透率1e-7,孔隙比0.1,液体比重...

s0302017的博客 1599

水很深的深度学习(四): 卷积神经网络CNN

深度学习-CNN,卷积神经网络的概念 上世纪60年代,Hubel等人通过对猫视觉皮层细胞的研究,提出了感受野这个概念,到80年代,Fukushima在感受野概念的基础之上提出了神经认知机的概念,可以看作是卷积神经网络的第一个实现网络,神经认知机将一个视觉模式分解成许多子模式(特征),然后进入分层递阶式相连的特征平面进行处理

专注大数据与人工智能技术分享,欢迎私信加群互相学习! 3624

JavaScript:Date对象的getTime()方法

定义和用法 getTime() 方法可返回距 1970 年 1 月 1 日之间的毫秒数。 语法 dateObject.getTime() 返回值 dateObject 指定的日期和时间距 1970 年 1 月 1 日午夜(GMT 时间)之间的毫秒数。 提示和注释: 注释:该方法总是结合一个 Date 对象来使用。 实例 例子 1 在本例中,我们将取得从 1970

lhl6688的专栏 1600

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

JavaScript Date 对象参考手册 getTime() 方法

JavaScript getTime() 方法   返回JavaScript Date 对象参考手册 (目录)   定义和用法 getTime() 方法可返回距 1970 年 1 月 1 日之间的毫秒数。 语法 dateObject.getTime()   返回值 dateObject 指定的日期和时间距 1970 年 1 月 1 日午夜(GMT 时间)之间的毫秒数。 提示和注释: ...

stephen830 286

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

js的Date.parse()方法和getTime()的坑

JS用Date.gettime("yyy-MM-dd hh:mm:ss")解析时间格式,IE8以下的环境下出现NaN, safari浏览器出现NaN 解法 : 1 function time(){ 2 3   var timeBegin = ''2018-09-18 12:00:00" 4 5   var startTime =timeBegin.replace...

weixin_30872337的博客 537

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【JavaScript】内置对象 - Date 日期对象 ③ ( 获取日期对应时间戳 | getTime 方法 | valueOf 方法 | +new Date() 方法 | Date.now方法 )

一、获取日期对应的毫秒时间戳 1、时间戳简介 2、调用 Date 对象的 getTime 函数获取时间戳 3、调用 Date 对象的 valueOf 函数获取时间戳 4、使用 + 运算符获取 Date 对象的时间戳 ( 最常用 ) 5、调用 Date 对象的 now 方法获取现在时间戳 ( H5 新增 - 不兼容低版本 )

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 2088

JavaScript Date.getTime() 函数详解

转自:http://www.365mini.com/page/javascript-date-gettime.htm getTime()函数用于使用当地时间返回当前Date对象中的时间值。该时间值表示从1970年1月1日午夜开始,到当前Date对象时,所经过的毫秒数,以格林威治时间为准。 该函数属于Date对象,所有主流浏览器均支持该函数。 语法 date.getTime(

snowstorm的博客 9676

js中:Date.utc()方法与getTime()方法返回值不相等的原因

1 // Date.UTC() 方法接受的参数同日期构造函数接受最多参数时一样,返回从1970-1-1 00:00:00 UTC到指定日期的的毫秒数。 2 var utcDate = Date.UTC(2016,1,1); 3 4 // getTime() 方法的返回值一个数值,表示从1970年1月1日0时0分0秒(UTC,即协调世界时)距离该日期对象所代表...

weixin_30925411的博客 476

js中new Date()和moment.js的使用区别

Date对象是一个比较复杂的对象,很多时候需要格式转化才能得到我们需要的格式。 Date的几种toString方法 toString() 把 Date 对象转换为字符串。 toTimeString() 把 Date 对象的时间部分转换为字符串。 toDateString() 把 Date 对象的日期部分转换为字符串。 toUTCString() 根据世界时,把 Date 对象转换为字符串。 toLocaleString() 根据本地时间格式,把 Date 对象转换为字符串。 toLocaleTimeS

weixin_51719919的博客 1099
上一篇: Javascript报uncaught typeerror illegal invocation错误
下一篇: git撤销与回滚
firstcode666
博客等级 码龄5年 53粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值