vue时间处理工具momentjs

时间: 2020-01-03阅读: 308标签: 工具

为什么要用?

自己写的时间处理工具类有兼容性, 网上找都处理很多可靠的很少,几个项目被坑惨了


以前用的

 formatDate(timestamp, fmt = 'yyyy-MM-dd hh:mm:ss') {
    if (!timestamp) return null;
    let date = null;
    if (timestamp instanceof Date) {
      date = timestamp;
    } else {
      // 兼容
      date = new Date(timestamp.replace(new RegExp(/-/gm), '/'));
    }
    const o = {
      'y+': date.getFullYear(),
      'M+': date.getMonth() + 1,
      'd+': date.getDate(),
      'h+': date.getHours(),
      'm+': date.getMinutes(),
      's+': date.getSeconds(),
      'w+': date.getDay(),
    };
    Object.entries(o).forEach(([rxp, value]) => {
      fmt = fmt.replace(new RegExp(rxp), ($1) => {
        const str = `0000${value}`;
        if ($1 === 'M' || $1 === 'd') {
          if (value > 9) {
            return value;
          }
        } else if ($1 === 'ww') {
          const week = '一二三四五六日'.substr(value - 1, 1);
          return `周${week}`;
        }
        return str.substr(str.length - $1.length);
      });
    });
    return fmt;
  },

有时候还要经常处理获取月份啊周啊什么的bug 实在多,自己写实在麻烦还考虑不全,还有兼容性,崩溃...下面用moment来处理时间常用方式


format

moment().format();                                // "2014-09-08T08:02:17-05:00" (ISO 8601,无小数秒钟)
moment().format("dddd, MMMM Do YYYY, h:mm:ss a"); // "Sunday, February 14th 2010, 3:25:50 pm"
moment().format("ddd, hA");                       // "Sun, 3PM"
moment('gibberish').format('YYYY-MM-DD');         // "Invalid date"

格式

说明令牌输出|
月份M1 2 ... 11 12
Mo1st 2nd ... 11th 12th
MM 01 02 ... 11 12
MMM Jan Feb ... Nov Dec
MMMM January February ... November December
季度Q1 2 3 4
Qo1st 2nd 3rd 4th
月份的日期D1 2 ... 30 31
Do1st 2nd ... 30th 31st
DD01 02 ... 30 31
年份的日期DDD1 2 ... 364 365
DDDo1st 2nd ... 364th 365th
DDDD001 002 ... 364 365
星期几d0 1 ... 5 6
do0th 1st ... 5th 6th
ddSu Mo ... Fr Sa
dddSun Mon ... Fri Sat
ddddSunday Monday ... Friday Saturday
星期几(语言环境)e0 1 ... 5 6
星期几(ISO)E1 2 ... 6 7
年份的星期w1 2 ... 52 53
wo
ww01 02 ... 52 53
年份的星期(ISO)W1 2 ... 52 53
Wo1st 2nd ... 52nd 53rd
WW01 02 ... 52 53
Unix时间戳 X 1360013296
Unix毫秒时间戳 x 1360013296123

还有挺多具体请参考中文文档


站长推荐

1.阿里云: 本站目前使用的是阿里云主机,安全/可靠/稳定。点击领取2000元代金券、了解最新阿里云产品的各种优惠活动点击进入

2.腾讯云: 提供云服务器、云数据库、云存储、视频与CDN、域名等服务。腾讯云各类产品的最新活动,优惠券领取点击进入

3.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/8498

mac下镜像飞速安装Homebrew教程

Homebrew是一款包管理工具,目前支持macOS和linux系统。主要有四个部分组成: brew、homebrew-core 、homebrew-cask

7款代码对比工具

在程序开发的过程中,程序员会经常对源代码以及库文件进行代码对比,在这篇文章里我们向大家介绍六款程序员常用的代码比较工具。

掌握 TS 这些工具类型,让你开发事半功倍

TypeScript 提供了为类型注解设置别名的便捷语法,你可以使用 type SomeName = someValidTypeAnnotation 来创建别名,比如:

JS 工具库文档化JSDoc

JSDoc 是一个自动化生成 JavaScript 文档工具,它是利用对 JavaScript 函数的特定注释来编译成 HTML 文件的一个文档工具。

node_modules干什么的?

node_modules是安装node后用来存放用包管理工具下载安装的包的文件夹。比如webpack、gulp、grunt这些工具。在node.js中模块与文件是一一对应的,也就是说一个node.js文件就是一个模块。

JavaScript工具函数大全

为元素添加on方法,为元素添加trigger方法,转义html标签,跨浏览器绑定事件

六个好用的前端开发在线工具

网上可以找到前端开发社区贡献的大量工具,这篇文章列出了我最喜欢的一些工具,这些工具给我的工作带来了许多便利。EnjoyCSS老实说,虽然我做过许多前端开发,但我并不擅长 CSS

国内都有哪些免费的图床工具

七牛云是国内企业级云服务商,注册认证后有10G永久免费空间,每月10G国内和10G国外流量,速度相当快,七牛云是国内专业CDN服务商,插件支持比较多,有免费ssl证书,但https流量收费。同时可以自定义域名,系统会默认分配测试域名,测试域名只能用20天

推荐6款好用、免费的远程控制软件【远程管理工具】

远程办公就需要远程连接的工具,当然,你说你用VPN那也是没有毛病的。远程桌面工具也极大的方便了我们进行远程技术支持、远程办公的便利性,但是呢,很多时候,有些工具不支持电脑或者手机操作

LWN:内核开发者的更好的工具

从许多角度来说,Linux kernel这个项目在用的工具都太过时了,远远落后于现代的孩子们经常用的工具。kernel的工作流程在过去几年表现都很好,不过已经有些迹象表明它不会永远保持不变

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!

文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全运营推广