亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

獲取JAVASCRIPT時間戳函數(shù)的5種方法

 更新時間:2024年01月30日 15:51:10   作者:csjoz11  
JavaScript獲得時間戳的方法有五種,后四種都是通過實例化時間對象new?Date()?來進一步獲取當前的時間戳,JavaScript處理時間主要使用時間對象Date,本文對js時間戳函數(shù)獲取方法給大家介紹的非常詳細,需要的朋友參考下吧

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

JavaScript獲得時間戳的方法有五種,后四種都是通過實例化時間對象new Date() 來進一步獲取當前的時間戳,JavaScript處理時間主要使用時間對象Date。

方法一:Date.now()

Date.now()可以獲得當前的時間戳:

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

方法二:Date.parse()

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

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

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

方法三:valueOf()

通過valueOf()函數(shù)返回指定對象的原始值獲得準確的時間戳值:

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

方法四:getTime()

通過原型方法直接獲得當前時間的毫秒值,準確:

new Date().getTime() //1642471711588

方法五:Number

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

Number(new Date()) //1642471746435

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

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

new Date(1472048779952)
Wed Aug 24 2016 22:26:19 GMT+0800 (中國標準時間)

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

如果后端直接返回時間戳給前端,前端如何轉(zhuǎn)換呢?下面介紹2種實現(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對象,然后利用拼接正則等手段來實現(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'

不過這樣轉(zhuǎn)換在某些瀏覽器上會出現(xiàn)不理想的效果,因為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(1642471746435) //'2022-1-18 10:09:06'

三、知識普及

1、當前系統(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 (中國標準時間)'

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對象構(gòu)造函數(shù)

Date對象具有多種構(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對象構(gòu)造函數(shù)參數(shù)說明:

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

Date對象返回值

如果沒有任何參數(shù),將返回當前日期; 如果參數(shù)為一個數(shù)字,將數(shù)字視為毫秒值,轉(zhuǎn)換為日期 如果參數(shù)為一個字符串,將字符串視為日期的字符串表示,轉(zhuǎn)換為日期 還可以使用六個構(gòu)造函數(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)置對象,必須使用new的方式創(chuàng)建。

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

可以使用getTime()將Date對象轉(zhuǎn)換為Date的時間戳,方法setTime()可以把Date的時間戳轉(zhuǎn)換為Date的標準形式。

Date函數(shù)使用語法

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

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

Date函數(shù)按功能分類

日期獲取類函數(shù)

Date() 函數(shù) -- Date對象的構(gòu)造函數(shù) 
getDate() 函數(shù) -- 返回date對象中的月份中的天數(shù)(1-31) 
getDay()函數(shù) -- 返回date對象中的星期中的天數(shù)(0-6) 
getFullYear() 函數(shù) -- 返回date對象中的四位數(shù)年份 
getHours()函數(shù) -- 返回date對象中的小時數(shù)(0-23) 
getMilliseconds() 函數(shù) -- 返回date對象中的毫秒數(shù)(0-999) 
getMinutes() 函數(shù) -- 返回date對象中的分鐘數(shù)(0-59) 
getMonth() 函數(shù) -- 返回date對象中的月份數(shù)(0-11) 
getSeconds() 函數(shù) -- 返回date對象中的秒數(shù)(0-59) 
getTime() 函數(shù) -- 返回date對象的時間戳表示法(毫秒表示) 
getTimezoneOffset() 函數(shù) -- 返回本地時間與用UTC表示當前日期的時間差,以分鐘為單位 
getUTCDate() 函數(shù) -- 返回date對象中用世界標準時間(UTC)表示的月份中的一天(1-31) 
getUTCDay() 函數(shù) -- 返回date對象中用世界標準時間(UTC)表示的周中的一天(0-6) 
getUTCFullYear() 函數(shù) -- 返回date對象中用世界標準時間(UTC)表示的四位年份 
getUTCHours() 函數(shù) -- 返回date對象中用世界標準時間(UTC)表示的小時數(shù)(0-23) 
getUTCMilliseconds() 函數(shù) -- 返回date對象中用世界標準時間(UTC)表示的毫秒數(shù)(0-999) 
getUTCMinutes() 函數(shù) -- 返回date對象中用世界標準時間(UTC)表示的分鐘數(shù)(0-59) 
getUTCMonth() 函數(shù) -- 返回date對象中用世界標準時間(UTC)表示的月份數(shù)(0-11) 
getUTCSeconds() 函數(shù) -- 返回date對象中用世界標準時間(UTC)表示的秒數(shù)(0-59) 
getYear() 函數(shù) -- 返回date對象的年份(真實年份減去1900) 
Date.UTC()函數(shù) -- 返回date對象距世界標準時間(UTC)1970年1月1日午夜之間的毫秒數(shù)(時間戳)

日期設(shè)置類函數(shù)

setDate() 函數(shù) -- 設(shè)置date對象中月份的一天,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setFullYear() 函數(shù) -- 設(shè)置date對象中的年份,月份和天,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setHours() 函數(shù) -- 設(shè)置date對象的小時,分鐘,秒和毫秒,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setMilliseconds() 函數(shù) -- 設(shè)置date對象的毫秒數(shù),并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setMinutes() 函數(shù) -- 設(shè)置date對象的分鐘,秒,毫秒,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setMonth() 函數(shù) -- 設(shè)置date對象中月份,天,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setSeconds() 函數(shù) -- 設(shè)置date對象中月份的一天,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setTime() 函數(shù) -- 使用毫秒數(shù)設(shè)置date對象,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setUTCDate() 函數(shù) -- 設(shè)置date對象中用世界標準時間(UTC)表示的月份的一天,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setUTCFullYear() 函數(shù) -- 設(shè)置date對象中用世界標準時間(UTC)表示的年份,月份和天,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setUTCHours() 函數(shù) --- 設(shè)置date對象中用世界標準時間(UTC)表示的小時,分鐘,秒和毫秒,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setUTCMilliseconds() 函數(shù) -- 設(shè)置date對象中用世界標準時間(UTC)表示的毫秒數(shù),并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setUTCMinutes() 函數(shù) -- 設(shè)置date對象中用世界標準時間(UTC)表示的分鐘,秒,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setUTCMonth() 函數(shù) -- 設(shè)置date對象中用世界標準時間(UTC)表示的月份,天,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setUTCSeconds() 函數(shù) -- 設(shè)置date對象中用世界標準時間(UTC)表示的秒,毫秒,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setYear() 函數(shù) -- 設(shè)置date對象的年份(真實年份減去1900)

日期打印類函數(shù)

toDateString() 函數(shù) -- 返回date對象的日期部分的字符串表示 
toGMTString() 函數(shù) -- 返回date對象的格林威治時間(GMT)的字符串表示 
toLocaleDateString函數(shù) -- 返回date對象的日期部分的本地化字符串 
toLocaleTimeString函數(shù) -- 返回date對象的時間部分的本地化字符串 
toTimeString()函數(shù) -- 返回date對象的時間部分的字符串 
toUTCString函數(shù) -- 返回date對象的世界標準時間(UTC)的字符串表示

日期解析類函數(shù)

Date.parse() 函數(shù) -- 解析一個日期的字符串,并返回該日期距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
JavaScript_Date函數(shù)按照字母分類 
Date() 函數(shù) -- Date對象的構(gòu)造函數(shù) 
getDate() 函數(shù) -- 返回date對象中的月份中的天數(shù)(1-31) 
getDay()函數(shù) -- 返回date對象中的星期中的天數(shù)(0-6) 
getFullYear() 函數(shù) -- 返回date對象中的四位數(shù)年份 
getHours()函數(shù) -- 返回date對象中的小時數(shù)(0-23) 
getMilliseconds() 函數(shù) -- 返回date對象中的毫秒數(shù)(0-999) 
getMinutes() 函數(shù) -- 返回date對象中的分鐘數(shù)(0-59) 
getMonth() 函數(shù) -- 返回date對象中的月份數(shù)(0-11) 
getSeconds() 函數(shù) -- 返回date對象中的秒數(shù)(0-59) 
getTime() 函數(shù) -- 返回date對象的時間戳表示法(毫秒表示) 
getTimezoneOffset() 函數(shù) -- 返回本地時間與用UTC表示當前日期的時間差,以分鐘為單位 
getUTCDate() 函數(shù) -- 返回date對象中用世界標準時間(UTC)表示的月份中的一天(1-31) 
getUTCDay() 函數(shù) -- 返回date對象中用世界標準時間(UTC)表示的周中的一天(0-6) 
getUTCFullYear() 函數(shù) -- 返回date對象中用世界標準時間(UTC)表示的四位年份 
getUTCHours() 函數(shù) -- 返回date對象中用世界標準時間(UTC)表示的小時數(shù)(0-23) 
getUTCMilliseconds() 函數(shù) -- 返回date對象中用世界標準時間(UTC)表示的毫秒數(shù)(0-999) 
getUTCMinutes() 函數(shù) -- 返回date對象中用世界標準時間(UTC)表示的分鐘數(shù)(0-59) 
getUTCMonth() 函數(shù) -- 返回date對象中用世界標準時間(UTC)表示的月份數(shù)(0-11) 
getUTCSeconds() 函數(shù) -- 返回date對象中用世界標準時間(UTC)表示的秒數(shù)(0-59) 
getYear() 函數(shù) -- 返回date對象的年份(真實年份減去1900) 
Date.parse() 函數(shù) -- 解析一個日期的字符串,并返回該日期距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setDate() 函數(shù) -- 設(shè)置date對象中月份的一天,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setFullYear() 函數(shù) -- 設(shè)置date對象中的年份,月份和天,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setHours() 函數(shù) -- 設(shè)置date對象的小時,分鐘,秒和毫秒,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setMilliseconds() 函數(shù) -- 設(shè)置date對象的毫秒數(shù),并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setMinutes() 函數(shù) -- 設(shè)置date對象的分鐘,秒,毫秒,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setMonth() 函數(shù) -- 設(shè)置date對象中月份,天,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setSeconds() 函數(shù) -- 設(shè)置date對象中月份的一天,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setTime() 函數(shù) -- 使用毫秒數(shù)設(shè)置date對象,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setUTCDate() 函數(shù) -- 設(shè)置date對象中用世界標準時間(UTC)表示的月份的一天,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setUTCFullYear() 函數(shù) -- 設(shè)置date對象中用世界標準時間(UTC)表示的年份,月份和天,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setUTCHours() 函數(shù) --- 設(shè)置date對象中用世界標準時間(UTC)表示的小時,分鐘,秒和毫秒,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setUTCMilliseconds() 函數(shù) -- 設(shè)置date對象中用世界標準時間(UTC)表示的毫秒數(shù),并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setUTCMinutes() 函數(shù) -- 設(shè)置date對象中用世界標準時間(UTC)表示的分鐘,秒,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setUTCMonth() 函數(shù) -- 設(shè)置date對象中用世界標準時間(UTC)表示的月份,天,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setUTCSeconds() 函數(shù) -- 設(shè)置date對象中用世界標準時間(UTC)表示的秒,毫秒,并返回date對象距1970年1月1日午夜之間的毫秒數(shù)(時間戳) 
setYear() 函數(shù) -- 設(shè)置date對象的年份(真實年份減去1900) 
toDateString() 函數(shù) -- 返回date對象的日期部分的字符串表示 
toGMTString() 函數(shù) -- 返回date對象的格林威治時間(GMT)的字符串表示 
toLocaleDateString函數(shù) -- 返回date對象的日期部分的本地化字符串 
toLocaleTimeString函數(shù) -- 返回date對象的時間部分的本地化字符串 
toTimeString()函數(shù) -- 返回date對象的時間部分的字符串 
toUTCString函數(shù) -- 返回date對象的世界標準時間(UTC)的字符串表示 
Date.UTC()函數(shù) -- 返回date對象距世界標準時間(UTC)1970年1月1日午夜之間的毫秒數(shù)(時間戳)

四、Javascript的時間戳和php的時間戳轉(zhuǎn)換

js的時間戳通常是13位,php的時間戳是10位,轉(zhuǎn)換函數(shù)如下:

var nowtime = (new Date).getTime();/*當前時間戳*/   
/*轉(zhuǎn)換時間,計算差值*/   
function comptime(beginTime,endTime){   
    var secondNum = parseInt((endTime-beginTime*1000)/1000);//計算時間戳差值      
    if(secondNum&gt;=0&amp;&amp;secondNum&lt;60){   
        return secondNum+'秒前';   
    }   
    else if (secondNum&gt;=60&amp;&amp;secondNum&lt;3600){   
        var nTime=parseInt(secondNum/60);   
        return nTime+'分鐘前';   
    }   
    else if (secondNum&gt;=3600&amp;&amp;secondNum&lt;3600*24){   
        var nTime=parseInt(secondNum/3600);   
        return nTime+'小時前';   
    }   
    else{   
        var nTime = parseInt(secondNum/86400);   
        return nTime+'天前';   
    }   
} 
t = comptime("1642471746",nowtime);//1642471746為PHP通過ajax回傳的時間戳, 是10位
console.log(t); //27分鐘前

補充:

JavaScript 獲取時間戳的5種方法

1.Date.parse(new Date())

const timestamp = Date.parse(new Date());
console.log(timestamp);
//輸出 1591669256000   13位

2.Math.round(new Date())

const timestamp = Math.round(new Date());
console.log(timestamp);  
//輸出 1591669961203   13位

3.(new Date()).valueOf()

const timestamp = (new Date()).valueOf();
console.log(timestamp);
//輸出 1591670037603   13位

4.new Date().getTime()

const timestamp = new Date().getTime();
console.log(timestamp);
//輸出 1591670068833   13位

5.+new Date()

const timestamp = +new Date();
console.log(timestamp);
//輸出 1591670099066   13位

在開發(fā)的中需要精確到秒的時候,推薦使用 第1種方法,也需要除以1000才行,如果是需要時間戳毫秒的推薦 +new Date() 和 new Date().getTime();

到此這篇關(guān)于獲取JAVASCRIPT時間戳函數(shù)的5種方法的文章就介紹到這了,更多相關(guān)js時間戳函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JavaScript實現(xiàn)的SHA-1加密算法完整實例

    JavaScript實現(xiàn)的SHA-1加密算法完整實例

    這篇文章主要介紹了JavaScript實現(xiàn)的SHA-1加密算法,以完整實例形式分析了SHA-1加密算法的具體實現(xiàn)技巧,需要的朋友可以參考下
    2016-02-02
  • 詳解Bootstrap四種圖片樣式

    詳解Bootstrap四種圖片樣式

    本文給大家介紹Bootstrap 對圖片的支持,Bootstrap提供了四個可對圖片應(yīng)用簡單樣式的class,對Bootstrap四種圖片class相關(guān)知識感興趣的朋友一起學習吧
    2016-01-01
  • JavaScript實現(xiàn)生成隨機密碼的示例詳解

    JavaScript實現(xiàn)生成隨機密碼的示例詳解

    使用JavaScript我們可以輕松地在客戶端生成隨機密碼,本文我們將實現(xiàn)一個簡單的隨機密碼生成器,能夠生成指定長度和包含特定字符集的密碼,有需要的可以參考下
    2024-01-01
  • javascript設(shè)計模式 – 適配器模式原理與應(yīng)用實例分析

    javascript設(shè)計模式 – 適配器模式原理與應(yīng)用實例分析

    這篇文章主要介紹了javascript設(shè)計模式 – 適配器模式,結(jié)合實例形式分析了javascript適配器模式相關(guān)概念、原理、用法及操作注意事項,需要的朋友可以參考下
    2020-04-04
  • JavaScript數(shù)組問題解決的多種方法

    JavaScript數(shù)組問題解決的多種方法

    JavaScript數(shù)組問題多種方法小結(jié),眾多blueidea高手聯(lián)袂打造
    2008-07-07
  • 前端i18n?Ally插件使用方法簡單介紹

    前端i18n?Ally插件使用方法簡單介紹

    為了解決VSCode擴展i18nAlly在不同項目中無法正確找到翻譯文件路徑的問題,推薦在項目根目錄下的.vscode目錄中編輯settings.json文件進行配置,需要的朋友可以參考下
    2024-11-11
  • javaScript 刪除字符串空格多種方法小結(jié)

    javaScript 刪除字符串空格多種方法小結(jié)

    在js中自一些字符串刪除空格的功能,本文章來介紹了字符串刪除功能加利用正則快速替換字符串中所有空格實現(xiàn)代碼
    2012-10-10
  • 最新評論