首页 > 其他分享 >JS 封装并格式化时间

JS 封装并格式化时间

时间:2023-06-07 17:24:17浏览次数:27  
标签:封装 value JS return parseTime time date 格式化

建议一个 时间格式化的JS文件,复制以下代码进去

// 日期格式化
export function parseTime(time, pattern) {
    if (arguments.length === 0 || !time) {
        return null
    }
    const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}'
    let date
    if (typeof time === 'object') {
        date = time
    } else {
        if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
            time = parseInt(time)
        } else if (typeof time === 'string') {
            time = time.replace(new RegExp(/-/gm), '/');
        }
        if ((typeof time === 'number') && (time.toString().length === 10)) {
            time = time * 1000
        }
        date = new Date(time)
    }
    const formatObj = {
        y: date.getFullYear(),
        m: date.getMonth() + 1,
        d: date.getDate(),
        h: date.getHours(),
        i: date.getMinutes(),
        s: date.getSeconds(),
        a: date.getDay()
    }
    const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
        let value = formatObj[key]
        // Note: getDay() returns 0 on Sunday
        if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] }
        if (result.length > 0 && value < 10) {
            value = '0' + value
        }
        return value || 0
    })
    return time_str
}

 

用法: 

main.js

import { parseTime } from " 你创建的JS的地址 "
Vue.prototype.parseTime = parseTime;

 

具体用处

this.parseTime(new Date(), "{y}-{m}-{d}");

 

标签:封装,value,JS,return,parseTime,time,date,格式化
From: https://www.cnblogs.com/majiayin/p/17463997.html

相关文章

  • 异步调用方法并弹出处理中窗体(转载)---线程池的封装
    原文链接:[C#]非同步呼叫方法並跳出處理中視窗|愛流浪的小風-點部落(dotblogs.com.tw)前言 當我們在Winform進行某些比較花時間的運算時,若沒有使用非同步的方法來呼叫,畫面上的視窗就會顯示沒有回應,這是一種比較差的使用者體驗,可能會讓使用者以為當機了,在這邊為了方便......
  • ArrayBox封装
    设计一个类替代数组可以做的事情 数组长度是固定存储一组元素 长度一旦固定使用起来不太方便添加元素删除元素 设计一个类---充当一个小容器ArrayBox 能添加元素获取元素删除元素看一看到底有几个//你们是使用者(用户)         ......
  • uniapp render.js
    1、操作数据<template><viewclass="content"><view@click="renderScript.emitData">获取renderjs数据</view>{{name}}</view></template><script>exportdefault{data(){......
  • 复杂json串解析
    1、有如下Json串需要解析成本地对象(实为京东开普勒业绩订单请求返回的json串):String串:result:{"jd_kpl_open_unionservice_queryCommisions_response":{"message":"SUCCESS","totalNum":null,"result":[{"plus":0,"orderDate":15324......
  • JS 模拟 栈结构
    Code:/***栈结构(基于动态数组)*@class*/varAStack=(function(){/***栈容器*@type{DArray}*/letarr;/***内部栈类*@class*/class_AStack{/***构造器*@constructor*@param{number}[capacity]......
  • 直播app开发搭建,web前端JS中的继承方式
    直播app开发搭建,web前端JS中的继承方式ES5//ES5中的写法一   functionPhone(color){    this.color=color;    this.show=function(){      console.log("你喜欢看的颜色是:"+this.color);    }  }  functionVivo(color......
  • JS 模拟 Java 动态数组(类)
     Code:/***动态数组*@class*/varDArray=(function(){/***数据数组*@type{*[]}*/letdata;/***数组中的元素个数*@type{number}*/letsize;/***调整数组容器大小*@param{number}new_capacity*/co......
  • 在ubuntu上后台启动nodejs、使用pm2启动多个nodejs,
    前言很久以前淘到了一个非常简易的nodejs(聊天室)的源码,今天想把他放到我的ubuntu(server20.10)上。一、正文如果直接使用指令nodeapp.js,退出终端的时候会报错,可以使用pm2来实现后台运行!1.安装node.js和npmapt-getinstallnodejsapt-getinstallnpm安装好了之后可以使用whereisn......
  • JS基础语法(一)
    javascript简介javascrpit是是一种轻量级的编程语言,常用于web前端开发。另外js还可以用来写node.js类型的服务和工具,在测试web项目的时候需要了解。  变量js定义变量有3种方式:var、const、let,3者的区别:在2015年以前,使用var关键字来声明JavaScript变量。在2015后......
  • json
    //查询时间偏移select*fromcoinerwherecreated_at+interval'8hour'>'2023-01-1300:00:00'//jsonb查询attribute.Award.type='ttc'attribute->'Award'->>'type'='ttc//时间偏移去重分组sel......