5种获取JavaScript时间戳函数的方法

5种获取JavaScript时间戳函数的方法来源 https www fly63 com 一 JavasCRIPT 时间转时间戳 JavaScript 获得时间戳的方法有五种 后四种都是通过实例化时间对象 newDate 来进

0a971b2eb0e33cb38bdd65eec69a19ac.png来源 | https://www.fly63.com/

一、JavasCRIPT时间转时间戳

方法一:Date.now()

Date.now()可以获得当前的时间戳:


console.log(Date.now()) //87
方法二:Date.parse()

Date.parse()将字符串或者时间对象直接转化成时间戳:


Date.parse(new Date()) //00 Date.parse("2022/1/18 10:05") //00

注意:不推荐这种办法,毫秒级别的数值被转化为000。

方法三:valueOf()

通过valueOf()函数返回指定对象的原始值获得准确的时间戳值:


(new Date()).valueOf() //12
方法四:getTime()

通过原型方法直接获得当前时间的毫秒值,准确:


new Date().getTime() //88
方法五:Number

将时间对象转化为一个number类型的数值,即时间戳


Number(new Date()) //35

二、js时间戳转时间

我们可以接用 new Date(时间戳) 格式转化获得当前时间,比如:


new Date(52) Wed Aug 24 2016 22:26:19 GMT+0800 (中国标准时间)

注意:时间戳参数必须是Number类型,如果是字符串,解析结果:Invalid Date。

如果后端直接返回时间戳给前端,前端如何转换呢?下面介绍2种实现方式

方法一:生成’2022/1/18 上午10:09 ‘格式

function getLocalTime(n) { return new Date(parseInt(n)).toLocaleString().replace(/:\d{1,2}$/,' '); } getLocalTime(35) //'2022/1/18 上午10:09 '

也可以用如下,想取几位就几位,注意,空格也算!


function getLocalTime(n) { return new Date(parseInt(n)).toLocaleString().substr(0,14) } getLocalTime(35) //'2022/1/18 上午10'

或者利用正则:


function getLocalTime(n){ return new Date(parseInt(n)).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " "); } getLocalTime (35) //'2022/1/18 上午10:09:06'
方法二:生成’yyyy-MM-dd hh:mm:ss ‘格式

先转换为data对象,然后利用拼接正则等手段来实现:


function getData(n){ n=new Date(n) return n.toLocaleDateString().replace(/\//g, "-") + " " + n.toTimeString().substr(0, 8) } getData(35) //'2022-1-18 10:09:06'

不过这样转换在某些浏览器上会出现不理想的效果,因为toLocaleDateString()方法是因浏览器而异的,比如 IE为”2016年8月24日 22:26:19″格式 ;搜狗为”Wednesday, August 24, 2016 22:39:42″

可以通过分别获取时间的年月日进行拼接,这样兼容性更好:


function getData(n) { let now = new Date(n), y = now.getFullYear(), m = now.getMonth() + 1, d = now.getDate(); return y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d) + " " + now.toTimeString().substr(0, 8); } getData(35) //'2022-1-18 10:09:06'

三、知识普及

1、当前系统区域设置格式(toLocaleDateString和toLocaleTimeString)

(new Date()).toLocaleDateString() + " " + (new Date()).toLocaleTimeString() //'2022/1/18 上午10:30:30'
2、普通字符串(toDateString和toTimeString)

(new Date()).toDateString() + " " + (new Date()).toTimeString() //'Tue Jan 18 2022 10:30:50 GMT+0800 (中国标准时间)'
3、格林威治标准时间(toGMTString)

(new Date()).toGMTString() //'Tue, 18 Jan 2022 02:31:10 GMT'
4、全球标准时间(toUTCString)

(new Date()).toUTCString() //'Tue, 18 Jan 2022 02:31:25 GMT'
5、Date对象字符串(toString)

(new Date()).toString() 'Tue Jan 18 2022 10:31:44 GMT+0800 (中国标准时间)'
Date对象构造函数

Date对象具有多种构造函数:


new Date() new Date(milliseconds) new Date(datestring) new Date(year, month) new Date(year, month, day) new Date(year, month, day, hours) new Date(year, month, day, hours, minutes) new Date(year, month, day, hours, minutes, seconds) new Date(year, month, day, hours, minutes, seconds, microseconds)
Date对象构造函数参数说明: 

milliseconds - 距离JavaScript内部定义的起始时间1970年1月1日的毫秒数 datestring - 字符串代表的日期与时间。此字符串可以使用Date.parse()转换 year - 四位数的年份,如果取值为0-99,则在其之上加上1900 month - 0(代表一月)-11(代表十二月)之间的月份 day - 1-31之间的日期 hours - 0(代表午夜)-23之间的小时数 minutes - 0-59之间的分钟数 seconds - 0-59之间的秒数 microseconds - 0-999之间的毫秒数
Date对象返回值 

如果没有任何参数,将返回当前日期; 

如果参数为一个数字,将数字视为毫秒值,转换为日期
如果参数为一个字符串,将字符串视为日期的字符串表示,转换为日期
还可以使用六个构造函数精确定义,并返回时间 








var d1 = new Date(); document.write(d1.toString()); var d2 = new Date("2009-08-08 12:12:12); document.write(d2.toString()); var d3 = new Date(2009, 8, 8); document.write(d3.toString());

Date做为JavaScript的一种内置对象,必须使用new的方式创建。 

Date对象在JavaScript内部的表示方式是,距1970年1月1日午夜(GMT时间)的毫秒数(时间戳),我们在这里也把Date的内部表示形式称为时间戳。

Date函数使用语法 

date.方法名(参数1,参数2,...);

Date.方法名();
date代表一个日期对象的实例,Date代表日期对象,date.方法名调用的为对象的成员函数
Date.方法名调用的为对象的静态函数








var d=new Date(); var d2=Date.UTC();
Date函数按功能分类 

日期获取类函数


Date() 函数 -- Date对象的构造函数 getDate() 函数 -- 返回date对象中的月份中的天数(1-31) getDay()函数 -- 返回date对象中的星期中的天数(0-6) getFullYear() 函数 -- 返回date对象中的四位数年份 getHours()函数 -- 返回date对象中的小时数(0-23) getMilliseconds() 函数 -- 返回date对象中的毫秒数(0-999) getMinutes() 函数 -- 返回date对象中的分钟数(0-59) getMonth() 函数 -- 返回date对象中的月份数(0-11) getSeconds() 函数 -- 返回date对象中的秒数(0-59) getTime() 函数 -- 返回date对象的时间戳表示法(毫秒表示) getTimezoneOffset() 函数 -- 返回本地时间与用UTC表示当前日期的时间差,以分钟为单位 getUTCDate() 函数 -- 返回date对象中用世界标准时间(UTC)表示的月份中的一天(1-31) getUTCDay() 函数 -- 返回date对象中用世界标准时间(UTC)表示的周中的一天(0-6) getUTCFullYear() 函数 -- 返回date对象中用世界标准时间(UTC)表示的四位年份 getUTCHours() 函数 -- 返回date对象中用世界标准时间(UTC)表示的小时数(0-23) getUTCMilliseconds() 函数 -- 返回date对象中用世界标准时间(UTC)表示的毫秒数(0-999) getUTCMinutes() 函数 -- 返回date对象中用世界标准时间(UTC)表示的分钟数(0-59) getUTCMonth() 函数 -- 返回date对象中用世界标准时间(UTC)表示的月份数(0-11) getUTCSeconds() 函数 -- 返回date对象中用世界标准时间(UTC)表示的秒数(0-59) getYear() 函数 -- 返回date对象的年份(真实年份减去1900) Date.UTC()函数 -- 返回date对象距世界标准时间(UTC)1970年1月1日午夜之间的毫秒数(时间戳)

日期设置类函数 


setDate() 函数 -- 设置date对象中月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setFullYear() 函数 -- 设置date对象中的年份,月份和天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setHours() 函数 -- 设置date对象的小时,分钟,秒和毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setMilliseconds() 函数 -- 设置date对象的毫秒数,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setMinutes() 函数 -- 设置date对象的分钟,秒,毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setMonth() 函数 -- 设置date对象中月份,天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setSeconds() 函数 -- 设置date对象中月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setTime() 函数 -- 使用毫秒数设置date对象,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setUTCDate() 函数 -- 设置date对象中用世界标准时间(UTC)表示的月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setUTCFullYear() 函数 -- 设置date对象中用世界标准时间(UTC)表示的年份,月份和天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setUTCHours() 函数 --- 设置date对象中用世界标准时间(UTC)表示的小时,分钟,秒和毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setUTCMilliseconds() 函数 -- 设置date对象中用世界标准时间(UTC)表示的毫秒数,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setUTCMinutes() 函数 -- 设置date对象中用世界标准时间(UTC)表示的分钟,秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setUTCMonth() 函数 -- 设置date对象中用世界标准时间(UTC)表示的月份,天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setUTCSeconds() 函数 -- 设置date对象中用世界标准时间(UTC)表示的秒,毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setYear() 函数 -- 设置date对象的年份(真实年份减去1900)

日期打印类函数


toDateString() 函数 -- 返回date对象的日期部分的字符串表示 toGMTString() 函数 -- 返回date对象的格林威治时间(GMT)的字符串表示 toLocaleDateString函数 -- 返回date对象的日期部分的本地化字符串 toLocaleTimeString函数 -- 返回date对象的时间部分的本地化字符串 toTimeString()函数 -- 返回date对象的时间部分的字符串 toUTCString函数 -- 返回date对象的世界标准时间(UTC)的字符串表示

日期解析类函数


Date.parse() 函数 -- 解析一个日期的字符串,并返回该日期距1970年1月1日午夜之间的毫秒数(时间戳) JavaScript_Date函数按照字母分类 Date() 函数 -- Date对象的构造函数 getDate() 函数 -- 返回date对象中的月份中的天数(1-31) getDay()函数 -- 返回date对象中的星期中的天数(0-6) getFullYear() 函数 -- 返回date对象中的四位数年份 getHours()函数 -- 返回date对象中的小时数(0-23) getMilliseconds() 函数 -- 返回date对象中的毫秒数(0-999) getMinutes() 函数 -- 返回date对象中的分钟数(0-59) getMonth() 函数 -- 返回date对象中的月份数(0-11) getSeconds() 函数 -- 返回date对象中的秒数(0-59) getTime() 函数 -- 返回date对象的时间戳表示法(毫秒表示) getTimezoneOffset() 函数 -- 返回本地时间与用UTC表示当前日期的时间差,以分钟为单位 getUTCDate() 函数 -- 返回date对象中用世界标准时间(UTC)表示的月份中的一天(1-31) getUTCDay() 函数 -- 返回date对象中用世界标准时间(UTC)表示的周中的一天(0-6) getUTCFullYear() 函数 -- 返回date对象中用世界标准时间(UTC)表示的四位年份 getUTCHours() 函数 -- 返回date对象中用世界标准时间(UTC)表示的小时数(0-23) getUTCMilliseconds() 函数 -- 返回date对象中用世界标准时间(UTC)表示的毫秒数(0-999) getUTCMinutes() 函数 -- 返回date对象中用世界标准时间(UTC)表示的分钟数(0-59) getUTCMonth() 函数 -- 返回date对象中用世界标准时间(UTC)表示的月份数(0-11) getUTCSeconds() 函数 -- 返回date对象中用世界标准时间(UTC)表示的秒数(0-59) getYear() 函数 -- 返回date对象的年份(真实年份减去1900) Date.parse() 函数 -- 解析一个日期的字符串,并返回该日期距1970年1月1日午夜之间的毫秒数(时间戳) setDate() 函数 -- 设置date对象中月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setFullYear() 函数 -- 设置date对象中的年份,月份和天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setHours() 函数 -- 设置date对象的小时,分钟,秒和毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setMilliseconds() 函数 -- 设置date对象的毫秒数,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setMinutes() 函数 -- 设置date对象的分钟,秒,毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setMonth() 函数 -- 设置date对象中月份,天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setSeconds() 函数 -- 设置date对象中月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setTime() 函数 -- 使用毫秒数设置date对象,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setUTCDate() 函数 -- 设置date对象中用世界标准时间(UTC)表示的月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setUTCFullYear() 函数 -- 设置date对象中用世界标准时间(UTC)表示的年份,月份和天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setUTCHours() 函数 --- 设置date对象中用世界标准时间(UTC)表示的小时,分钟,秒和毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setUTCMilliseconds() 函数 -- 设置date对象中用世界标准时间(UTC)表示的毫秒数,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setUTCMinutes() 函数 -- 设置date对象中用世界标准时间(UTC)表示的分钟,秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setUTCMonth() 函数 -- 设置date对象中用世界标准时间(UTC)表示的月份,天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setUTCSeconds() 函数 -- 设置date对象中用世界标准时间(UTC)表示的秒,毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) setYear() 函数 -- 设置date对象的年份(真实年份减去1900) toDateString() 函数 -- 返回date对象的日期部分的字符串表示 toGMTString() 函数 -- 返回date对象的格林威治时间(GMT)的字符串表示 toLocaleDateString函数 -- 返回date对象的日期部分的本地化字符串 toLocaleTimeString函数 -- 返回date对象的时间部分的本地化字符串 toTimeString()函数 -- 返回date对象的时间部分的字符串 toUTCString函数 -- 返回date对象的世界标准时间(UTC)的字符串表示 Date.UTC()函数 -- 返回date对象距世界标准时间(UTC)1970年1月1日午夜之间的毫秒数(时间戳)

四、Javascript的时间戳和php的时间戳转换

js的时间戳通常是13位,php的时间戳是10位,转换函数如下:


var nowtime = (new Date).getTime();/*当前时间戳*/ /*转换时间,计算差值*/ function comptime(beginTime,endTime){ var secondNum = parseInt((endTime-beginTime*1000)/1000);//计算时间戳差值 if(secondNum>=0&&secondNum<60){ return secondNum+'秒前'; } else if (secondNum>=60&&secondNum<3600){ var nTime=parseInt(secondNum/60); return nTime+'分钟前'; } else if (secondNum>=3600&&secondNum<3600*24){ var nTime=parseInt(secondNum/3600); return nTime+'小时前'; } else{ var nTime = parseInt(secondNum/86400); return nTime+'天前'; } } t = comptime("",nowtime);//为PHP通过ajax回传的时间戳, 是10位 console.log(t); //27分钟前

本文完~

学习更多技能

请点击下方公众号

9bff05242d888d611359e025058c6aae.gif

d3161e7bb9315c4bd9fd2f3086adfd58.png

5e0b950c98781de17c07099e3898f038.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202782.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午11:18
下一篇 2026年3月19日 下午11:19


相关推荐

  • 北京上网首选DNS服务器地址,北京最快的DNS服务器地址,北京DNS大全

    北京上网首选DNS服务器地址,北京最快的DNS服务器地址,北京DNS大全为了提高北京上网用户打开网页的速度,北京上网用户要选择适合北京网络的DNS,很多时候北京上网用户在家或者在办公室上网,经常发现能够上网,但很多的网站和网址打不开,报解析错误,这种情况往往是属于您的DNS使用不当,有时选北京电信联通推荐的DNS也会出现这种情况,具体选那个,之前最好去ping一下,看哪个延迟小一般情况下还是要选择北京电信联通移动的DNS。下面给您推荐在北京常用的DNS。北

    2022年6月4日
    96
  • dategrip激活码【2021最新】

    (dategrip激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月22日
    58
  • SearchClaw:将 Elasticsearch 通过可组合技能引入 OpenClaw

    SearchClaw:将 Elasticsearch 通过可组合技能引入 OpenClaw

    2026年3月12日
    3
  • 手机号码归属地最新数据库2015年12月(附带采集更新程序)[通俗易懂]

    手机号码归属地最新数据库2015年12月(附带采集更新程序)[通俗易懂]手机号码归属地最新数据库2015年12月(附带采集更新程序)转:http://www.duanmu.org/log/mobile/昨天发现数据库的手机号归属地判断不准确,数据库该更新了,百度了下好像没有什么共享好的。以前是去淘宝上买的数据库,每次更新还得加钱,干脆自己做个算了,共享给大家。使用说明:1.单独号段的更新,请在手机号段里输入开始号

    2022年7月22日
    28
  • 将字符串转换为date类型_java字符串转date类型

    将字符串转换为date类型_java字符串转date类型1、将字符串转换成Date类型

    2022年10月4日
    5
  • 漫谈数据仓库之拉链表(原理、设计以及在Hive中的实现)

    漫谈数据仓库之拉链表(原理、设计以及在Hive中的实现)0x00前言本文将会谈一谈在数据仓库中拉链表相关的内容,包括它的原理、设计、以及在我们大数据场景下的实现方式。全文由下面几个部分组成:先分享一下拉链表的用途、什么是拉链表。通过一些小的使用场景来对拉链表做近一步的阐释,以及拉链表和常用的切片表的区别。举一个具体的应用场景,来设计并实现一份拉链表,最后并通过一些例子说明如何使用我们设计的这张表(因为现在Hive的大规模使用

    2022年10月17日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号