JavaScript將時間戳轉換為年月日格式
JavaScript中,時間戳是從1970年一月一日(00:00:00 GMT)至當前時間的毫秒數。
獲取時間戳的方式:
[JavaScript] 純文字檢視 複製程式碼var date=new Date() date.getTime()
通過使用getTime()可以獲得時間戳。
下面是一段程式碼例項能夠將時間戳轉換為時間格式:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>將時間戳轉換為日期-螞蟻部落</title> <script type="text/javascript"> Date.prototype.format=function(format){ var o={ "M+":this.getMonth()+1, "d+":this.getDate(), "h+":this.getHours(), "m+":this.getMinutes(), "s+":this.getSeconds(), "q+":Math.floor((this.getMonth()+3)/3), "S":this.getMilliseconds() } if(/(y+)/.test(format)){ format=format.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length)); } for(var k in o){ if(new RegExp("("+k+")").test(format)){ format=format.replace(RegExp.$1,RegExp.$1.length==1?o[k]:("00"+o[k]).substr((""+o[k]).length)) } } return format; } window.onload=function(){ var content=document.getElementById("content"); var theDate=new Date(1320336000000); var dateFormate=theDate.format("yyyy年MM月dd日hh小時mm分ss秒"); var dateGetTime=theDate.format("yyyyMMdd hh:mm:ss"); content.innerHTML=dateFormate+"<br/>"+dateGetTime } </script> </head> <body> <div id="content"></div> </body> </html>
一.實現原理:
通過prototype原型為Date物件新增一個自定義方法,可以將時間戳轉換為指定的時間格式,在此方法中,首先建立一個物件直接量,物件屬性是"M+"和"N+"等,這是有原因,可以作為正規表示式的匹配模式;物件的屬性值,是時間函式。後面通過正規表示式的匹配實現字串的替換,以達到轉換效果,具體參考程式碼註釋。
二.程式碼註釋:
(1).Date.prototype.format=function(format){},為Date物件新增方法,引數為自定義的時間日期格式。
(2).var o={},建立一個物件直接量。
(3)."M+":this.getMonth()+1,表示月份,之所以+1是因為getMonth()函式的返回值是從0開始的。
(4)."d+":this.getDate(),表示天。
(5)."h+":this.getHours(),表示小時。
(6)."m+":this.getMinutes(),表示分鐘。
(7)."s+":this.getSeconds(),表示秒。
(8)."q+":Math.floor((this.getMonth()+3)/3),表示季度。
(9)."S":this.getMilliseconds(),表示毫秒。
(10).if(/(y+)/.test(format)),判斷是否匹配,如果匹配返回true,否則返回false。
(11).format=format.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length)),將傳入表示年份的yyyy部分使用真正的年份替換。,(this.getFullYear()+"")年份是數值型別,數值型別連線一個字元可以將數值型別轉換為字元型別,然後使用substr()函式進行擷取字串操作,此函式的引數是4-RegExp.$1.length,它可以規定擷取的位置,根據"y"的數目,可以將年份格式化為例如2013,013、13等格式。
(12).for(var k in o){},使用for迴圈遍歷物件o中的屬性。
(13).if(new RegExp("("+k+")").test(format)),判斷是否匹配,也就是判斷傳入的字串引數中是否含有相應的時間單位,比如yyyy、MM、dd等等。
(14).format=format.replace(RegExp.$1,RegExp.$1.length==1?o[k]: ("00"+o[k]).substr((""+o[k]).length)),對時間格式化,比如獲取的是個位數,前面要加“0”,當然裡面是有變通的,大家自行分析。
(15).return format,返回格式化的時間。
(16).window.onload=function(){},當文件內容完全載入完畢再去執行函式中的程式碼。
(17).var content=document.getElementById("content"),獲取id為content的物件。
(18).var theDate=new Date(1320336000000),建立一個Date物件,建構函式的引數是一個時間戳。
(19).var dateFormate=theDate.format("yyyy年MM月dd日hh小時mm分ss秒"),呼叫函式。
(20).var dateGetTime=theDate.format("yyyy MM dd hh:mm:ss"),同上。
(21).content.innerHTML=dateFormate+"<br/>"+dateGetTime,將內容寫入div。
三.相關閱讀:
(1).關於時間函式可以參閱JavaScript Date物件一章節。
(2).substr()函式可以參閱JavaScript substr()方法一章節。
相關文章
- JavaScript 時間戳轉換為年月日JavaScript時間戳
- 時間戳轉化為時間格式時間戳
- 微信小程式中將時間戳轉換為聊天格式微信小程式時間戳
- JavaScript 時間轉換為UTC格式JavaScript
- MySQL 時間戳的 獲取 & 轉換為特定時間格式MySql時間戳
- 如何將Python時間戳轉換為時間?Python學習教程!Python時間戳
- 把時間戳轉為常用日期格式時間戳
- JavaScript 時間日期格式轉換JavaScript
- Python3時間戳轉換為指定格式的日期Python時間戳
- js時間戳與日期格式的相互轉換JS時間戳
- 時間年月日格式轉化
- 【時間戳轉普通時間格式的方法】時間戳
- 如何將UTC時間轉換為Unix時間戳(How to convert UTC time to unix timestamp)時間戳
- Excel中時間戳轉換時間Excel時間戳
- JavaScript將物件轉換為JSON格式字串JavaScript物件JSON字串
- MySQL時間戳轉成日期格式MySql時間戳
- Timestamp-時間戳轉換時間戳
- js把時間戳轉換成時間格式yyyy-MM-dd HH:mm:ssJS時間戳
- 直播平臺原始碼,js 時間戳轉為日期格式原始碼JS時間戳
- JavaScript 時間戳JavaScript時間戳
- 轉換UTC時間格式
- [時間格式的轉換]
- python中的時間轉換,秒級時間戳轉string,string轉時間Python時間戳
- 時間戳與時間字串的多時區轉換時間戳字串
- golang日期字串與時間戳轉換Golang字串時間戳
- (C#)時間戳、DateTime相互轉換C#時間戳
- 時間戳與yyyy-mm-dd hh:mm:ss格式之間的互相轉換時間戳
- 《Vue系列》timeago.js將時間戳轉換成“幾天前”“幾分鐘前”等格式VueGoJS時間戳
- 格式化時間 戳
- python時間戳和時間字串的各種轉換Python時間戳字串
- 【純手工打造】時間戳轉換工具(python)時間戳Python
- js 轉換時間戳的寫法ScriptJS時間戳
- Python將xml格式轉換為json格式PythonXMLJSON
- JS 時間戳(毫秒)轉化為標準時間格式(YYYY-MM-DD HH:mm:ss)JS時間戳
- C# 時間戳轉時間C#時間戳
- jmeter_遍歷轉換浮點時間戳JMeter時間戳
- 時間戳轉化為動態時鐘--moment時間戳
- JavaScript 轉換成UTC時間JavaScript