JS和Vue前端时间格式化处理的两种方式推荐
方式一 dayjs库
1.首先在vue项目中安装dayjs
npm install dayjs--save
2. 定义时间格式化全局过滤器,在utils文件夹下创建date-format.ts中编写代码
import dayjs from dayjs
import utc from dayjs/plugin/utc
// 将utc转化dayjs支持的样式
dayjs.extend(utc)
const DATE_TIME_FORMAT = YYYY-MM-DD HH:mm:ss
export function formatUtcString(utcString: string, format: string = DATE_TIME_FORMAT) {
return dayjs.utc(utcString).format(format)
}
3.在全局定义
import {
App } from vue
import {
utcToDateTimeFormat } from @/utils/date-formt
function registerGlobalProperties(app: App) {
app.config.globalProperties.$filters = {
formatTime(value: string) {
return utcToDateTimeFormat(value)
}
}
}
export default registerGlobalProperties
4.使用
<span>{
{
$filters.formatTime(scope.row.createAt) }}</span>
方式二 moment库
1.首先在vue项目中安装moment
npm install moment --save
2. 定义时间格式化全局过滤器,在dateUtil.js中或组件中导入该组件
import moment from moment
dateUtil.js代码:
import moment from "moment";
function dateFormat(data) {
return moment(new Date(data).getTime()).format(YYYY-MM-DD HH:mm);;
}
export {
dateFormat
}
3. 使用方法一
3.1在全局中定义时间格式化
// 定义一个全局过滤器实现日期格式化
Vue.filter(datefmt, function (input, fmtstring) {
return moment.unix(input).format(fmtstring)
})
3.2在main.js中或组件中导入该组件
import moment from moment
这样就可以在我们需要对时间进行格式化的组件中进行使用了,如下:
<div>
<span>{
{
item.publishdate | datefmt(MM/DD)}}</span>
<span>{
{
item.publishdate | datefmt(YYYY)}}</span>
</div>
这里我有两个span标签,第一个是将时间戳格式为 月/日(11/24) 这样的格式,第二个则是格式化为年份值(如2018这样的)
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
css有关内联元素的盒子总结
