将时间戳转换为日期格式:moment、new Date()
将时间戳转换为日期格式:moment、new Date()
-
- new Date()方式:
获取当前时间的时间戳:
Date.now() //=>1672974684470将时间戳转换为日期时间:
new Date(1672974684470) //=>Fri Jan 06 2023 11:11:24 GMT+0800 (中国标准时间)注意:时间戳标准是以毫秒为单位的,所以一共有13位,如果位数只有10位,说明它是以秒为单位的。此时要把它转成毫秒单位再进行日期转换,不然时间日期就不对。
获取年份:
new Date(1672974684470).getFullYear()//=>2023获取月份:
new Date(1672974684470).getMonth()//=>0-
月份是从0开始计的,1月份就是0;
获取日期:
new Date(1672974684470).getDate()//=>6获取时间戳是星期几:
new Date(1672974684470).getDay()//=>5获取小时:getHours()、获取分钟:getMinutes()
2. moment函数方式:
-
moment:日期格式化函数
在vue项目中使用这个函数的步骤:
-
下载moment模块:
npm i --save moment --legacy-peer-deps-
引入模块:
import moment from 'moment'-
最基本的用法:
//moment().format():格式化当前的时间 console.log(moment().format())//=>2023-01-06T13:21:11+08:00-
moment()和format()里可以通过传参数来设置如何格式化时间:
-
详情见网址:http://momentjs.cn/
常见的“yyyy-mm-dd”格式:
console.log(moment().format('YYYY-MM-DD'))//=>2023-01-06将时间戳转换为日期格式:
console.log(moment(1672974684470).format('YYYY-MM-DD'))//=>2023-01-063.配合过滤器fliter使用:
<div class="grey-text">{{filmInfo.premiereAt | dateFilter}}上映</div>import Vue from 'vue' import moment from 'moment' Vue.filter('dateFilter', (data) => { return moment(data * 1000).format('YYYY-MM-DD') })//乘以1000的原因是,后端给的时间戳是以秒为单位的,在这里换算成毫秒变换之前的时间戳效果:(后端给的数据是时间戳)
1671148800 上映变换后的日期效果:
2022-12-16 上映