一、Vue時間戳轉換
Vue中常常涉及到時間戳,時間戳是指格林威治時間1970年01月01日00時00分00秒到當前時間之間所經過的秒數。在Vue中,將時間戳轉換成正常的日期格式可以使用全局過濾器來完成。
//註冊全局過濾器
Vue.filter('formatDate', function(value) {
let date = new Date(value * 1000);
let year = date.getFullYear();
let month = date.getMonth() < 9 ? '0' + (date.getMonth() + 1) : (date.getMonth() + 1);
let day = date.getDate() < 9 ? '0' + (date.getDate()) : (date.getDate());
return year + '-' + month + '-' + day;
})
//在模板中使用
創建時間: {{ item.create_time | formatDate }}
二、Vue時間戳前端轉還是後端轉
在前端和後端都可以將時間戳轉換成正常的日期格式。前端通過全局過濾器或者插件來完成,後端則可以通過時間格式化庫來實現。具體轉換方式根據需要選擇即可。
三、Vue時間戳錄像
在Vue中,我們可以使用自定義指令來實現時間戳的錄像功能。
//定義錄像指令
Vue.directive('video', {
bind: function(el, binding) {
let start = null;
el.addEventListener('click', function() {
if (!start) {
start = new Date().getTime();
el.innerHTML = binding.value + ' - 錄製中...';
} else {
let end = new Date().getTime();
let time = (end - start) / 1000;
el.innerHTML = binding.value + ' - 錄製完成!耗時:' + time + 's';
start = null;
}
})
}
})
//在模板中使用
錄像
四、Vue時間戳怎麼弄
針對不同的需求,我們可以選擇使用全局過濾器、插件、指令等形式來完成時間戳的相關操作。
五、Vue時間戳轉換成時間
除了可以將時間戳轉換成正常的日期格式,我們還可以將時間戳轉換成具體的時間,例如:10:30AM。
//註冊全局過濾器
Vue.filter('formatTime', function(value) {
let date = new Date(value * 1000);
let hours = date.getHours() < 10 ? '0' + (date.getHours()) : (date.getHours());
let minutes = date.getMinutes() < 10 ? '0' + (date.getMinutes()) : (date.getMinutes());
let ampm = hours < 12 ? 'AM' : 'PM';
return hours + ':' + minutes + ' ' + ampm;
})
//在模板中使用
開始時間: {{ item.start_time | formatTime }}
六、Vue時間戳轉換封裝
對於經常使用的時間戳轉換,我們可以將其封裝成Vue的插件,在需要使用它的時候,直接引入並使用即可。
//創建插件
const timeStamp = {
install(Vue) {
Vue.filter('formatDate', function(value) {
let date = new Date(value * 1000);
let year = date.getFullYear();
let month = date.getMonth() < 9 ? '0' + (date.getMonth() + 1) : (date.getMonth() + 1);
let day = date.getDate() < 9 ? '0' + (date.getDate()) : (date.getDate());
return year + '-' + month + '-' + day;
})
Vue.filter('formatTime', function(value) {
let date = new Date(value * 1000);
let hours = date.getHours() < 10 ? '0' + (date.getHours()) : (date.getHours());
let minutes = date.getMinutes() < 10 ? '0' + (date.getMinutes()) : (date.getMinutes());
let ampm = hours < 12 ? 'AM' : 'PM';
return hours + ':' + minutes + ' ' + ampm;
})
}
}
//使用插件
Vue.use(timeStamp);
七、Vue時間戳轉換日期格式
除了常規的日期格式,我們還可以將時間戳轉換成其他格式的日期格式,例如:YYYY/MM/DD或者MM/DD/YYYY等形式。具體轉換方式可以使用moment等時間格式化庫。
八、Vue時間戳計算時間差
在Vue中,我們可以使用Date對象的getTime()方法來獲取時間戳,進而計算兩個時間的時間差。
//計算時間差
function diff(start, end) {
let startTime = new Date(start).getTime();
let endTime = new Date(end).getTime();
let diffTime = endTime - startTime;
let days = Math.floor(diffTime / (24 * 3600 * 1000));
let hours = Math.floor((diffTime % (24 * 3600 * 1000)) / (3600 * 1000));
let minutes = Math.floor((diffTime % (3600 * 1000)) / (60 * 1000));
let seconds = Math.floor((diffTime % (60 * 1000)) / 1000);
return days + '天' + hours + '小時' + minutes + '分' + seconds + '秒';
}
//在模板中使用
倒計時: {{ diff(item.start_time, item.end_time) }}
九、Vue時間戳轉成時間的方法選取
根據需求而定,可以使用全局過濾器、插件、指令或者時間格式化庫等方式來完成Vue中時間戳轉換成普通時間的操作。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/157463.html
微信掃一掃
支付寶掃一掃