export function formatDate (date, fmt) {
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
let o = {
'M+': date.getMonth() + 1,
'd+': date.getDate(),
'h+': date.getHours(),
'm+': date.getMinutes(),
's+': date.getSeconds()
for (let k in o) {
if (new RegExp(`(${k})`).test(fmt)) {
let str = o[k] + '';
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));
return fmt;
function padLeftZero (str) {
return ('00' + str).substr(str.length);
<!-- **.vue -->
<template>
<!-- time时间戳 -->
<div>{{time | formatDate}}</div>
<!-- 输出结果 -->
<!-- <div>2016-07-23 21:52</div> -->
</template>
<script>
import {formatDate} from './common/date.js';
export default {
filters: {
formatDate(time) {
var date = new Date(time);
return formatDate(date, 'yyyy-MM-dd hh:mm');
</script>
方法二为自写(在百度出的结果十个有九个是
上述
方法且
在不想使用上述方法
的情况下):
使用vue.filter
<!-- demo.vue -->
<template>
<!-- time为时间戳 -->
<div>{{time | formatDate}}</div>
<!-- 结果为 2018-01-23 18:31:35 -->
</template>
<script type="text/ecmascript-6">
export default {
data() {
return {
time: 1516703495241
filters: {
formatDate: function (value) {
let date = new Date(value);
let y = date.getFullYear();
let MM = date.getMonth() + 1;
MM = MM < 10 ? ('0' + MM) : MM;
let d = date.getDate();
d = d < 10 ? ('0' + d) : d;
let h = date.getHours();
h = h < 10 ? ('0' + h) : h;
let m = date.getMinutes();
m = m < 10 ? ('0' + m) : m;
let s = date.getSeconds();
s = s < 10 ? ('0' + s) : s;
return y + '-' + MM + '-' + d + ' ' + h + ':' + m + ':' + s;
</script>
<style lang="stylus" rel="stylesheet/stylus">
</style>
vue获取时间戳转换为日期格式。方法一为转载黄轶老师的format方法:出处(黄轶老师github https://github.com/ustbhuangyi);// date.jsexport function formatDate (date, fmt) { if (/(y+)/.test(fmt)) { fmt = fmt.replace(R
export function formatDate(date, fmt) {
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
let o = {
vue获取时间戳转换为日期格式。
方法一为转载黄轶老师的format方法:出处(黄轶老师github https://github.com/ustbhuangyi);
// date.js
export function formatDate (date, fmt) {
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp...
function formatDate(date, fmt) {
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
let o = {
'M+': date.getMo...
这是代码中的关键部分
//item.add_time 为请求数据中的时间戳
var date = new Date(parseInt(item.add_time) * 1000);
item.add_time = `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDay()}
<!-- 需要(2021-07-21)格式就用这种写法 -->
<template slot-scope="scope">
<span v-if="scope.row.creatTime != null">
{{ parseTime(scope.row.creatTime, "{y}-{m}-{
npm install moment --save2、main.js 文件中引入 moment 插件,并定义过滤器
import moment from 'moment'
Vue.prototype.moment = moment;
Vue.filter('formatDate', (input, formatString = "YYYY-MM-DD HH:mm:ss") => {
什么是时间戳
Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。
在Vue项目中从后台请求过来的数据是一个对象数组,
对象中的create_time属性为时间戳表示的创建时间,
在前端的展示,需要用正常的 年-月-日 时-分-秒 这种格式,
例如 1512535620 转换为 1970-0
Vue.js 是一种流行的前端框架,它使得处理数字格式时间戳变得简单和快捷。时间戳是一个数字类型,在 JavaScript 中用于表示日期和时间。Vue.js 提供了多种方法将时间戳转换成日期和时间格式。
Vue.js 的时间戳处理方法既灵活又方便,可以轻松地实现人性化的日期和时间格式。以下是几种常用的时间戳处理方式:
1. 使用 Date 构造函数: Date 构造函数可以将时间戳转换成日期格式,并为我们提供多种格式化选项。例如:
```javascript
const timeStamp = 1617192000000;
const date = new Date(timeStamp);
console.log(date.toString()); // "Thu Mar 25 2021 08:00:00 GMT+0800 (中国标准时间)"
2. 使用 Moment.js 库: Moment.js 是一个流行的 JavaScript 库,它提供了多种方法格式化日期和时间。例如:
```javascript
const timeStamp = 1617192000000;
const date = moment(timeStamp).format('YYYY-MM-DD HH:mm:ss');
console.log(date); // "2021-03-25 08:00:00"
3. 使用 Vue.filter: Vue.filter 可以让我们定义全局或局部的过滤器,用于格式化数据。例如:
```javascript
Vue.filter('formatDate', function(value) {
if (!value) return '';
const date = new Date(value);
const year = date.getFullYear();
const month = date.getMonth() + 1;
const day = date.getDate();
return `${year}-${month}-${day}`;
这个过滤器将时间戳格式化成 "yyyy-mm-dd" 格式,并可以在 Vue 模板中使用:
```html
<p>{{ timeStamp | formatDate }}</p>
总之,Vue.js 提供了多种方法将时间戳格式化成易于阅读的日期和时间格式。这些方法可以轻松地实现前端数据展示和交互,让我们的前端开发变得更加便捷。
Vue.directive()的用法和实例
前端小白_ _: