最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript獲取時(shí)間戳的方法總結(jié)

 更新時(shí)間:2023年09月07日 11:33:12   作者:星星那樣亮  
JavaScript獲得時(shí)間戳的方法有五種,后四種都是通過(guò)實(shí)例化時(shí)間對(duì)象new Date() 來(lái)進(jìn)一步獲取當(dāng)前的時(shí)間戳,下面我們就一起學(xué)習(xí)一下具體獲取的方法吧

一、JavasCRIPT時(shí)間轉(zhuǎn)時(shí)間戳

JavaScript獲得時(shí)間戳的方法有五種,后四種都是通過(guò)實(shí)例化時(shí)間對(duì)象new Date() 來(lái)進(jìn)一步獲取當(dāng)前的時(shí)間戳,JavaScript處理時(shí)間主要使用時(shí)間對(duì)象Date。

方法一:Date.now()

Date.now()可以獲得當(dāng)前的時(shí)間戳:

console.log(Date.now()) //1642471441587

方法二:Date.parse()

Date.parse()將字符串或者時(shí)間對(duì)象直接轉(zhuǎn)化成時(shí)間戳:

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

注意:不推薦這種辦法,毫秒級(jí)別的數(shù)值被轉(zhuǎn)化為000。

方法三:valueOf()

通過(guò)valueOf()函數(shù)返回指定對(duì)象的原始值獲得準(zhǔn)確的時(shí)間戳值:

(new Date()).valueOf() //1642471624512

方法四:getTime()

通過(guò)原型方法直接獲得當(dāng)前時(shí)間的毫秒值,準(zhǔn)確:

new Date().getTime() //1642471711588

方法五:Number

將時(shí)間對(duì)象轉(zhuǎn)化為一個(gè)number類型的數(shù)值,即時(shí)間戳

Number(new Date()) //1642471746435

二、js時(shí)間戳轉(zhuǎn)時(shí)間

我們可以接用 new Date(時(shí)間戳) 格式轉(zhuǎn)化獲得當(dāng)前時(shí)間,比如:

new Date(1472048779952)Wed Aug 24 2016 22:26:19 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)

注意:時(shí)間戳參數(shù)必須是Number類型,如果是字符串,解析結(jié)果:Invalid Date。

如果后端直接返回時(shí)間戳給前端,前端如何轉(zhuǎn)換呢?下面介紹2種實(shí)現(xiàn)方式

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

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

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

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

或者利用正則:

function  getLocalTime(n){return new Date(parseInt(n)).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " ");}getLocalTime  (1642471746435)  //'2022/1/18 上午10:09:06'

方法二:生成'yyyy-MM-dd hh:mm:ss '格式

先轉(zhuǎn)換為data對(duì)象,然后利用拼接正則等手段來(lái)實(shí)現(xiàn):

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

不過(guò)這樣轉(zhuǎn)換在某些瀏覽器上會(huì)出現(xiàn)不理想的效果,因?yàn)閠oLocaleDateString()方法是因?yàn)g覽器而異的,比如 IE為"2016年8月24日 22:26:19"格式 ;搜狗為"Wednesday, August 24, 2016 22:39:42"

可以通過(guò)分別獲取時(shí)間的年月日進(jìn)行拼接,這樣兼容性更好:

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(1642471746435) //'2022-1-18 10:09:06'

三、知識(shí)普及

1、當(dāng)前系統(tǒng)區(qū)域設(shè)置格式(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 (中國(guó)標(biāo)準(zhǔn)時(shí)間)'

3、格林威治標(biāo)準(zhǔn)時(shí)間(toGMTString)

(new Date()).toGMTString()//'Tue, 18 Jan 2022 02:31:10 GMT'

4、全球標(biāo)準(zhǔn)時(shí)間(toUTCString)

(new Date()).toUTCString()//'Tue, 18 Jan 2022 02:31:25 GMT'

5、Date對(duì)象字符串(toString)

(new Date()).toString()'Tue Jan 18 2022 10:31:44 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)'

Date對(duì)象構(gòu)造函數(shù)

Date對(duì)象具有多種構(gòu)造函數(shù):

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對(duì)象構(gòu)造函數(shù)參數(shù)說(shuō)明: 

milliseconds - 距離JavaScript內(nèi)部定義的起始時(shí)間1970年1月1日的毫秒數(shù)
datestring - 字符串代表的日期與時(shí)間。此字符串可以使用Date.parse()轉(zhuǎn)換
year - 四位數(shù)的年份,如果取值為0-99,則在其之上加上1900
month - 0(代表一月)-11(代表十二月)之間的月份
day - 1-31之間的日期
hours - 0(代表午夜)-23之間的小時(shí)數(shù)
minutes - 0-59之間的分鐘數(shù)
seconds - 0-59之間的秒數(shù)
microseconds - 0-999之間的毫秒數(shù)

Date對(duì)象返回值 

如果沒(méi)有任何參數(shù),將返回當(dāng)前日期; 

如果參數(shù)為一個(gè)數(shù)字,將數(shù)字視為毫秒值,轉(zhuǎn)換為日期

如果參數(shù)為一個(gè)字符串,將字符串視為日期的字符串表示,轉(zhuǎn)換為日期

還可以使用六個(gè)構(gòu)造函數(shù)精確定義,并返回時(shí)間 

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的一種內(nèi)置對(duì)象,必須使用new的方式創(chuàng)建。 

Date對(duì)象在JavaScript內(nèi)部的表示方式是,距1970年1月1日午夜(GMT時(shí)間)的毫秒數(shù)(時(shí)間戳),我們?cè)谶@里也把Date的內(nèi)部表示形式稱為時(shí)間戳。

可以使用getTime()將Date對(duì)象轉(zhuǎn)換為Date的時(shí)間戳,方法setTime()可以把Date的時(shí)間戳轉(zhuǎn)換為Date的標(biāo)準(zhǔn)形式。

Date函數(shù)使用語(yǔ)法 

date.方法名(參數(shù)1,參數(shù)2,...);
Date.方法名();
date代表一個(gè)日期對(duì)象的實(shí)例,Date代表日期對(duì)象,date.方法名調(diào)用的為對(duì)象的成員函數(shù)
Date.方法名調(diào)用的為對(duì)象的靜態(tài)函數(shù)

var?d=new?Date();var?d2=Date.UTC();

到此這篇關(guān)于JavaScript獲取時(shí)間戳的方法總結(jié)的文章就介紹到這了,更多相關(guān)JavaScript時(shí)間戳內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

孝义市| 阿荣旗| 阳城县| 偏关县| 白沙| 芦溪县| 额尔古纳市| 新平| 马关县| 湖南省| 桦甸市| 孝感市| 保山市| 七台河市| 皮山县| 玉环县| 榆中县| 通化县| 鹰潭市| 长武县| 柞水县| 延长县| 百色市| 凭祥市| 沭阳县| 诏安县| 双城市| 宜黄县| 绥宁县| 竹溪县| 五寨县| 莫力| 贺州市| 屏南县| 古浪县| 于田县| 平顶山市| 许昌市| 泽库县| 沁阳市| 岳普湖县|