json傳出的時間戳轉化為標準格式
今天在專案中遇到了將後臺資料傳過來的json格式的資料轉化為標準格式,傳到頁面的是時間戳格式,所以需要把時間格式化一下,這就需要js來做這件事了。
所需知識:1、parseInt()函式:可解析一個字串,並返回一個整數。解析的全部是 數字。
2、正則表示式:/\D/是正則表示式,igm是匹配標記,i表示匹配的字串中字母不區分大小寫,g是全域性標誌,表示該表示式將用來在輸入字串中查詢儘可能多的匹配,m表示在多行中查詢,不然只會查詢一行也就是查詢到\n換行處。
3、javascript Date物件:Date物件用於處理日期和時間。
Date返回當日的日期和時間;getDate從Date物件返回一個月中的某一天(1-31);getMonth從Date物件返回月份(0-11);getFullYear從Date物件以四位數返回年份。因為必須都從Date物件返回,所以必須之前要寫
var myDate=new Date()
第一種方法:
<script>
function formatyn(nS) {
var a= parseInt(nS.replace(/\D/igm, ""));
var datetime = new Date(a);
var year = datetime.getFullYear();
var month = datetime.getMonth() + 1 < 10 ? "0" + (datetime.getMonth() + 1) : datetime.getMonth() + 1;
var date = datetime.getDate() < 10 ? "0" + datetime.getDate() : datetime.getDate();
return year + "-" + month + "-" + date;
}
</script>
第二種方法:
<script>
function formatyn(nS) {
var a = parseInt(nS.replace(/\D/igm, ""));
var datetime = new Date(a);
var year = datetime.getFullYear();
var month = datetime.getMonth() + 1;
var date = datetime.getDate();
return year + "-" + month + "-" + date ;
</script>
好了問題解決
需要注意的是
不要把字串中的Date(這樣的字元也傳進去,要先處理一下,這樣很方便 就能處理的
可以使用replace方法
如下:
replace("/Date(","").replace(")/","");