Day.js 一个轻量级的 JavaScript 时间日期处理库
在项目中难免要去处理时间和日期,所以就一定会用到 Moment.js ,Moment.js 是一个大而全的 JS 时间库,使得我们处理时间和日期变得简便,但是 Moment.js 太重了(大约 200k +),而对于我们的项目我们可能只用到了其中的几个 API 而已,这时如果没有其它语言本地化的需求我们就可以使用 Day.js ,之所以使用它,仅仅是因为它有着与 Moment.js 一样的语法、一样的功能,免去了我们学习和迁移的成本。
Day.js 的基本用法如下,相同的 API ,相同的链式操作
`dayjs().startOf('month').add(1, 'day').set('year', 2018).format('YYYY-MM-DD HH:mm:ss');`
优点
- 和 Moment.js 相同的 API 和用法
- 不可变数据 (Immutable)
- 支持链式操作 (Chainable)
- 仅 2kb 大小的微型库
- 全浏览器兼容
注:Day.js 虽然仅有 2kb 大小,但是功能一点也没有阉割,包含了事件处理的全部常用方法
文档地址
https://github.com/xx45/dayjs
原项目中已有 moment.js
如果项目里没有其它国家语言本地化的需求,那没想缩小打包体积,提升开发体验只需要 replace(/moment/g, 'dayjs')
全局替换一下,就能够减小体积并且所有 API 保持不变,无需修改,下面来看一些栗子
创建
dayjs() // 当前时间
dayjs('1995-12-25') // 1995-12-25
dayjs(Date.now() - 24 * 60 * 60 * 1000) // 昨天
格式化
dayjs().format('YYYY年MM月DD日 HH:mm:ss') // 2018年08月08日 00:00:00
dayjs().format('[YYYY]') // "[2018]"。[] 里的会原样输出。
操作
dayjs().add(7, 'days') // 之后的第7天
dayjs().subtract(1, 'months') // 上个月
dayjs().startOf('months') // 获取一月初
dayjs().endOf('year') // 获取一年年末
查询
dayjs('2010-10-20').isBefore('2010-10-21') // 早于
dayjs('2010-10-20').isAfter('2010-10-19') // 晚于
dayjs().isLeapYear() // 闰年
Day.js 一个轻量级的 JavaScript 时间日期处理库相关推荐
- Day.js轻量级 JavaScript 时间日期处理库可替代Moment.js
Day.js 是一个仅 2kb 大小的轻量级 JavaScript 时间日期处理库,和 Moment.js 的 API 设计保持完全一样.如果你曾经用过 Moment.js ,那么你已经知道如何使用 ...
- javascript 时间日期处理相加,减操作方法js
javascript 时间日期处理相加,减操作方法js (2011-04-22 18:08:51) 转载▼ 标签: 杂谈 [JavaScript]2009-02-21 12:01:32 阅读523 ...
- libgo高性能网络服务器,【开源】gnet: 一个轻量级且高性能的 Golang 网络库
![](https://ask.qcloudimg.com/http-save/1303222/sipe2g9n9h.png) # Github 主页 [https://github.com/panj ...
- 【开源推荐】gnet: 一个轻量级且高性能的 Go 网络库
Github 主页 https://github.com/panjf2000/gnet 欢迎大家围观~~,目前还在持续更新,感兴趣的话可以 star 一下暗中观察哦. 简介 gnet 是一个基于事件驱 ...
- javascript时间日期操作
Js获取当前日期时间及其它操作 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); ...
- JavaScript时间日期
通过时间日期对象可以从中获取更加具体的时间日期 var date = new Date() //获取到年 var year = date.getfulYear() console.log(year) ...
- moment 时间日期处理库 解析部分
moment 官方api 1. 安装导入 1.1 安装 npm install moment -g # 全局安装 npm install moment # 安装 1.2 导入 //require 方式 ...
- eth java,一个轻量级的Java实现的ETH库
简介: 这是一个轻量级的eth库,支持eth的私钥,公钥,地址的生成,和eth及其智能合约的转账离线签名操作 项目地址:https://github.com/wypeng2012/ETHLiteFor ...
- Day.js —— 一个轻量型的日期时间库 moment 的完美代替品
对于日期时间处理,常见有moment.js luxon等库,然而这些库在个人看来有点大了,而平常人往往只用到其中个别功能,这就有点浪费,当然也可以抽取想要模块,但稍显繁琐.对于这种情况,我一般喜欢自己 ...
最新文章
- java操作ad域 免证书
- ai人工智能服务器操作系统,全球首款100%纯国产的AI操作系统来了,但说媲美Windows有意义吗...
- Linux创建文件自动消失,Linux中没有文件创建时间的概念
- GO 语言websocket编程
- java中对象的生存期_JSP中JavaBean的生命周期
- lisp提取长方形坐标_用 Python 对图片主体轮廓进行提取、颜色标记、并计算区域面积...
- iPhone 14 Pro外观细节曝光:打孔屏加持 支持新一代的LTPO技术
- python两个数组合并、找出中位数_leetcode刷题记录-找出这两个有序数组的中位数(python版本)...
- Android学习总结(2)——App客户端与服务器交互中的token
- arpspoof渗透工具使用方法详解+实战
- python爬虫的用途_python爬虫用代理ip有什么用途?
- 我不曾忘记的初心-大厂小厂
- 【摄像头】图像传感器尺寸、像素大小和成像质量的关系
- 银行存储管理系统oracle,课内资源 - 基于JSP和Oracle实现的志愿服务银行系统
- CSS中-moz-、-ms-、-webkit-、-o-的意义
- IPFS -- 节点搭建
- CAD快速选择相同图形
- python判断字符串是字母 数字 大小写
- 阿里云王牌架构师杨曦:N多环境N多应用个性配置管理如何从混乱到简单?
- day07 pyecharts制图