最近在寫項目的時間 , 遇到時間戳轉日期這樣的問題 , 所以推薦一個超級好用的處理時間的插件 moment.js .
時間戳:是指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現在的總秒數。
首先 , 自己寫js 實現時間戳與日期格式之間的互轉
1.將時間戳轉換成日期格式
// 簡單的一句代碼
var date = new Date(時間戳); //獲取一個時間對象
/**
- 下面是獲取時間日期的方法,需要什么樣的格式自己拼接起來就好了
- 更多好用的方法可以在這查http://www.w3school.com.cn/jsref/jsref_obj_date.asp
*/
date.getFullYear(); // 獲取完整的年份(4位,1970)
date.getMonth(); // 獲取月份(0-11,0代表1月,用的時候記得加上1)
date.getDate(); // 獲取日(1-31)
date.getTime(); // 獲取時間(從1970.1.1開始的毫秒數)
date.getHours(); // 獲取小時數(0-23)
date.getMinutes(); // 獲取分鐘數(0-59)
date.getSeconds(); // 獲取秒數(0-59)
例子
filters: {
formatTime(val) {
const date = new Date(val);
const Y = date.getFullYear() + "年";
const M =
(date.getMonth() + 1 < 10
? "0" + (date.getMonth() + 1)
: date.getMonth() + 1) + "月";
const D = date.getDate() + "日";
// h = date.getHours() + ":";
// m = date.getMinutes() + ":";
// s = date.getSeconds();
return Y + M + D
}
},
2. 將日期格式轉換成時間戳
// 也很簡單
var strtime = '2014-04-23 18:55:49:123';
var date = new Date(strtime); //傳入一個時間格式,如果不傳入就是獲取現在的時間了,這樣做不兼容火狐。
// 可以這樣做
var date = new Date(strtime.replace(/-/g, '/'));
// 有三種方式獲取,在后面會講到三種方式的區別
time1 = date.getTime();
time2 = date.valueOf();
time3 = Date.parse(date);
/*
三種獲取的區別:
第一、第二種:會精確到毫秒
第三種:只能精確到秒,毫秒將用0來代替
比如上面代碼輸出的結果(一眼就能看出區別):
1398250549123
1398250549123
1398250549000
*/
然后就是強大的 moment.js插件(moment.js)
獲取時間戳 : var res = moment(Date.now(), 'YYYY-MM-DD HH:mm:ss').valueOf();
獲取格式時間: var res = moment(Date.now()).format('YYYY-MM-DD HH:mm:ss');
兩句話搞定 ~~~
還有很多使用方法 :
更多方法 .可以去官網看~