JS日期转时间戳与时间戳转日期全攻略:原生、Vue过滤器及Day.js
本文详解JavaScript中日期与时间戳的双向转换。涵盖原生Date.parse、getTime等获取当前及指定日期时间戳的方法,以及将时间戳还原为年月日格式。针对Vue项目,分别演示了在Vue2中通过main.js创建日期过滤器,以及在Vue3+TS环境中使用Day.js库进行时间格式化的具体代码与配置步骤。
JS如何将当前日期或指定日期转换为时间戳的详细教程
获取当前系统时间并将其转换为时间戳
var date = new Date()
console.log(date) // Tue Aug 16 2022 14:52:09 GMT+0800 (中国标准时间)
var timeStamp = Date.parse(date)
console.log(timeStamp) // 1660632697000将指定的“年:月”格式字符串转换为时间戳,其中日期默认取当月1号,时间为0点0分
var date = '2022-8'
var timeStamp = Date.parse(date)
console.log(timeStamp) // 1659283200000 转回去是2022-08-01 00:00:00将指定的“年:月:日”格式字符串转换为时间戳,时间部分默认为0点0分
var date = '2022-8-16'
var timeStamp = Date.parse(date)
console.log(timeStamp) // 1660579200000 转回去是2022-08-16 00:00:00将指定的“年:月:日 时:分”格式字符串转换为时间戳,秒数默认为0
var date = '2022-8-16 12:10'
var timeStamp = Date.parse(date)
console.log(timeStamp) // 1660623000000 转回去是2022-08-16 12:10:00将指定的“年-月-日 时:分:秒”格式字符串转换为时间戳
var date = '2022-8-16 12:10:30'
var timeStamp = Date.parse(date)
console.log(timeStamp) // 1660623000000 转回去是2022-08-16 12:10:30获取当前标准的年月日时分秒并转换为时间戳,这里提供三种实现方式(标准时间转时间戳)
let date = new Date()//获取标准时间 //Tue Aug 16 2022 15:06:24 GMT+0800 (中国标准时间)
//方式一
let timeStamp = date.getTime()//转时间戳
//方式二
let timeStamp = date.valueOf()
//方式三
let timeStamp = Date.parse(date)
console.log(timeStamp) // 1606705009000JS时间戳转换方式的示例详解
前言
在JavaScript中将时间戳转换为常见的时间格式,主要有三种方式: 1、利用JS内置函数,如
getFullYear()、getMonth()等,直接提取时间戳对应的年月信息; 2、定义时间过滤器,在其他页面中直接调用该过滤器来完成时间戳转换; 3、使用day.js库,将时间戳转换为常用的时间字符串格式。 4、本文以Vue2和Vue3两个后台管理系统中的下单时间为例,演示如何将原始时间戳转换为年月日格式。其中Vue2项目采用JS结合Element UI,Vue3项目采用TypeScript结合Element-Plus。
1、JS时间戳转日期(代码可直接复制)
// 时间戳
let timestamp = 1662537367
// 此处时间戳以毫秒为单位
let date = new Date(parseInt(timestamp) * 1000);
let Year = date.getFullYear();
let Moth = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1);
let Day = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate());
let Hour = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours());
let Minute = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes());
let Sechond = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());
let GMT = Year + '-' + Moth + '-' + Day + ' '+ Hour +':'+ Minute + ':' + Sechond;
console.log(GMT) // 2022-09-07 15:56:07补充说明
let nowTime = new Date().valueOf();//时间戳
console.log(nowTime) // 获取当前时间的时间戳2、在main.js文件中创建全局过滤器
示例场景:后台管理系统,使用vue2 + JS + element ui,将下单时间的时间戳转换为年月日格式
(1)在main.js文件中,创建过滤器并将其挂载到Vue实例上
注意:我这边后台返回的数据需要进行单位换算,所以originVal * 1000,具体情况具体分析,不同单位的数据请自行调整
import Vue from 'vue'
// 创建过滤器,将秒数过滤为年月日,时分秒,传参值originVal为毫秒
Vue.filter('dateFormat', function(originVal){
// 先把传参毫秒转化为new Date()
const dt = new Date(originVal * 1000)
const y = dt.getFullYear()
// 月份是从0开始,需要+1
// +''是把数字转化为字符串,padStart(2,'0')是把字符串设置为2位数,不足2位则在开头加'0'
const m = (dt.getMonth() + 1 + '').padStart(2, '0')
const d = (dt.getDate() + '').padStart(2, '0')
return `${y}-${m}-${d}`
})(2)在页面模板中的具体调用方式
<el-table :data="orderList" border stripe class="mt20">
<el-table-column label="下单时间" prop="create_time">
<template slot-scope="scope">
{{scope.row.create_time | dateFormat}}
</template>
</el-table-column>
</el-table>3、Day.js库的使用(链接直达)
(1)三种安装方式,任选其一即可
npm install dayjs
cnpm install dayjs -S
yarn add dayjs(2)在页面中的具体使用示例
示例场景:后台管理系统,使用vue3 + TS + element-plus,将下单时间的时间戳转换为年月日格式
使用前效果:

使用后效果:

① HTML模板部分
npm install dayjs
cnpm install dayjs -S
yarn add dayjs② 从后端获取到的原始数据

③ TypeScript代码部分
对获取到的数据中的创建时间字段进行转换,其中dayjs()函数中传入需要转换的时间戳参数,format()函数中传入期望转换成的时间格式字符串
// 引入
import { dayjs } from "element-plus";
interface IOrderList {
order_number: string; // 订单编号
create_time: number; // 下单时间
}
const orderList = reactive<IOrderList[]>([]);
// 获取订单数据
const getOrderList = async () => {
orderList.length = 0;
let orders = await ordersAPI(pageInfo.value);
// 对 orders.data.goods进行遍历,dayjs()中携带需要转换的时间戳参数,format()中携带所期待转换成的形式
orders.data.goods.forEach((el: any) => {
el.create_time = dayjs(el.create_time * 1000).format("YYYY-MM-DD");
});
orderList.push(...orders.data.goods);
};
getOrderList();至此,关于JS时间戳转换方式的文章介绍完毕,更多相关JS时间戳转换内容可搜索本站历史文章或继续浏览下方相关文章,希望大家以后多多支持本站!
React 与 Vue 项目中集成 Plotly.js 的最佳实践与封装技巧
2026-11-05 17:32:05
Vue.js 高阶组件封装与自定义 Hook 实战技巧
2026-11-05 17:15:22
怎么在Vue3项目中集成轻量级JS文本编辑器
2026-11-03 12:21:35
Vue.js官网怎么切换Vue 2与Vue 3版本文档?避免看错版本指南
2026-11-03 08:08:08
ElementUI el-switch 开关组件使用详解与高级应用
2026-10-31 15:21:18
