1. 程式人生 > >javascript時間戳函式-時間戳總結

javascript時間戳函式-時間戳總結

javascript時間戳經常用到,現在總結一下。

一、時間戳函式

<script>function getLocalTime(nS){returnnewDate(parseInt(nS)*1000).toLocaleString().replace(/:\d{1,2}$/,' ');}   
alert(getLocalTime(1293072805));</script>

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

<script>function getLocalTime(nS){returnnewDate(parseInt(nS)*1000).toLocaleString
().substr(0,14)} alert(getLocalTime(1293072805));</script>

如果想彈出:2014-08-20 10:00:00這個格式的也好辦

<script>function getLocalTime(nS){returnnewDate(parseInt(nS)*1000).toLocaleString().replace(/年|月/g,"-").replace(/日/g," ");}   
alert(getLocalTime(1177824835));</script>

另外,也可以這麼寫:

function   formatDate(now
){var year=now.getYear();var month=now.getMonth()+1;var date=now.getDate();var hour=now.getHours();var minute=now.getMinutes();var second=now.getSeconds();return year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second;}var d=newDate(1230999938); alert(formatDate(d));

二、知識普及

1、當前系統區域設定格式(toLocaleDateString和toLocaleTimeString)

例子:(newDate()).toLocaleDateString()+" "+(newDate()).toLocaleTimeString()結果:200812916:13:11

2.普通字串(toDateString和toTimeString)

例子:(newDate()).toDateString()+" "+(newDate()).toTimeString()結果:TueJan29200816:13:11 UTC+0800

3.格林威治標準時間(toGMTString)

例子:(newDate()).toGMTString()結果:Tue,29Jan200808:13:11 UTC 

4.全球標準時間(toUTCString)

例子:(newDate()).toUTCString()結果:Tue,29Jan200808:13:11 UTC 

5.Date物件字串(toString)

例子:(newDate()).toString()結果:TueJan2916:13:11 UTC+08002008Date物件建構函式Date物件具有多種建構函式。newDate()newDate(milliseconds)newDate(datestring)newDate(year, month)newDate(year, month, day)newDate(year, month, day, hours)newDate(year, month, day, hours, minutes)newDate(year, month, day, hours, minutes, seconds)newDate(year, month, day, hours, minutes, seconds, microseconds)Date物件建構函式引數說明 
milliseconds -距離JavaScript內部定義的起始時間197011日的毫秒數 
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 =newDate(); 
document.write(d1.toString());var d2 =newDate("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的內部表示形式稱為時間戳。可以使用getTime()將Date物件轉換為Date的時間戳,方法setTime()可以把Date的時間戳轉換為Date的標準形式。 
Date函式使用語法 
date.方法名(引數1,引數2,...); 
Date.方法名(); 
date代表一個日期物件的例項,Date代表日期物件,date.方法名呼叫的為物件的成員函式 
Date.方法名呼叫的為物件的靜態函式 
示例 
var d=new Date(); 
var d2=Date.UTC(); 
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.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 =(newDate).getTime();/*當前時間戳*//*轉換時間,計算差值*/function comptime(beginTime,endTime){var secondNum = parseInt((endTime-beginTime*1000)/1000);//計算時間戳差值      if(secondNum>=0&&secondNum<60){return secondNum+'秒前';}elseif(secondNum>=60&&secondNum<3600){var nTime=parseInt(secondNum/60);return nTime+'分鐘前';}elseif(secondNum>=3600&&secondNum<3600*24){var nTime=parseInt(secondNum/3600);return nTime+'小時前';}else{var nTime = parseInt(secondNum/86400);return nTime+'天前';}}   

t = comptime("1324362556",nowtime);//timestamp為PHP通過ajax回傳的時間戳   

alert(t);