時間戳
注:時間戳包括10位和13位兩種,小程序中默認生成的時間戳是13位的。兩者的區別是精度不同,13位精確到毫秒,10位精確到秒。實際上,13位時間戳只是比10位的末尾多了000,如果想要轉化只要乘除1000即可。
直接在util.js定義兩個函數
一:
//數據轉化
function formatNumber(n) {
n = n.toString()
return n[1] ? n : '0' + n
}
二:
/**
* 時間戳轉化爲年 月 日 時 分 秒
* number: 傳入時間戳
* format:返回格式,支持自定義,但參數必須與formateArr裏保持一致
*/
function formatTime(number, format) {
var formateArr = ['Y', 'M', 'D', 'h', 'm', 's'];
var returnArr = [];
var date = new Date(number * 1000);
returnArr.push(date.getFullYear());
returnArr.push(formatNumber(date.getMonth() + 1));
returnArr.push(formatNumber(date.getDate()));
returnArr.push(formatNumber(date.getHours()));
returnArr.push(formatNumber(date.getMinutes()));
returnArr.push(formatNumber(date.getSeconds()));
for (var i in returnArr) {
format = format.replace(formateArr[i], returnArr[i]);
}
return format;
}
最後聲明一下
module.exports = {
formatTime: formatTime // 時間戳轉換
}
在index.js中,onReady: function中使用
var sjc = 1488481383;
console.log(time.formatTime(sjc,'Y/M/D h:m:s'));
console.log(time.formatTime(sjc, 'h:m'));
得到的效果如下:
2017/03/03 03:03:03
03:03
最後附上全部代碼,直接粘貼複製,引用即可,想要知道更多功能記得關注我,加下QQ羣: 1102727334
//數據轉化
function formatNumber(n) {
n = n.toString()
return n[1] ? n : '0' + n
}
/**
* 時間戳轉化爲年 月 日 時 分 秒
* number: 傳入時間戳
* format:返回格式,支持自定義,但參數必須與formateArr裏保持一致
*/
function formatTime(number, format) {
var formateArr = ['Y', 'M', 'D', 'h', 'm', 's'];
var returnArr = [];
var date = new Date(number * 1000);
returnArr.push(date.getFullYear());
returnArr.push(formatNumber(date.getMonth() + 1));
returnArr.push(formatNumber(date.getDate()));
returnArr.push(formatNumber(date.getHours()));
returnArr.push(formatNumber(date.getMinutes()));
returnArr.push(formatNumber(date.getSeconds()));
for (var i in returnArr) {
format = format.replace(formateArr[i], returnArr[i]);
}
return format;
}
module.exports = {
formatTime: formatTime // 時間戳轉換
}
日期轉時間戳
var time = new Date('日期'.getTime())