Moment.js 是一个大而全的 JS 时间库,很大地方便了我们处理日期和时间。但是 Moment.js太重了(200k+ with locals),可能一般项目也只使用到了她几个常用的API。虽然社区也有几个轻量的时间库,要想迁移过去又会增加新的学习和迁移成本。

__如果能有一个和 Moment.js 一样语法,一样功能,又轻量的库该多好!__

Day.js 是一个轻量的 JavaScript 时间日期处理库,和 Moment.js 的 API 设计保持完全一样. 如果你曾经用过 Moment.js, 那么你已经知道如何使用 Day.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 大小,但是功能一点都没有阉割。包含了时间处理的全部常用方法。

</br>

## 文档地址 (中文)

喜欢可以给个 star 鼓励一下吗

iamkun/dayjs​github.com

</br>

---

如果您的项目里没有其他国家语言本地化的需求,那想缩小打包体积,提升开发体验只需要 `replace(/moment/g, 'dayjs')` 全局替换一下。就能从 `Moment.js + locals` 200kb 减小成 `dayjs` 2kb的体积。所有的API调用都保持不变,无需修改。

来感受一下 `Dayjs` 的语法吧,是不是很看起来亲切呢 (没错 这就是 moment 的语法嘛)

### 创建

```

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() // 闰年

```

## issue and pr's welcome

欢迎来issue和pr哦

iamkun/dayjs​github.com

js 日期加一年_?Day.js 2KB时间库 和Moment.js一样的API相关推荐

  1. matlab 日期加小时数_实验一 连续时间信号在Matlab中的运算

    实验一连续时间信号在Matlab中的运算 一.实验目的 1.学会运用Matlab进行连续时间信号的时移.反褶和尺度变换. 2.学会运用Matlab进行连续时间信号相加.相乘.微分.积分和卷积运算. 3 ...

  2. js 日期 加天数计算

    js 日期 加天数计算 AddDate=(date, days)=> {//日期计算if (!days) {days = 1;}var date = new Date(date);date.se ...

  3. js日期加减一天_JS日期加减,日期运算代码

    这篇文章主要介绍了JS日期加减,日期运算代码,需要的朋友可以参考下 一.日期减去天数等于第二个日期 function cc(dd,dadd){ //可以加上错误处理 var a = new Date( ...

  4. js 日期加减操作(日、月、年)

    js 日期加减操作(日.月.年) 先定义当前时间 const myDate = new Date() 2.日期加减操作 myDate.setYear(myDate.getFullYear() + 1) ...

  5. js日期加减一天_js日期如何进行加减计算

    [摘要]首先介绍一下大的背景:就是我们的手机端项目涉及到购买会员之后,购买所有的商品都会有相应的折扣.那么我们的后台管理系统就可以指定用户,为其开通会员.核心技术:js日期如何进行加减计算. [作者] ...

  6. js日期加一天或者减一天

    xxxx-xx-xx日期格式加一天 示例:2023年3月31日,加一天应该为2023年4月1日 代码如下(示例): //XXXX-XX-XX日期加一天 export const formatTime ...

  7. Js日期加减(天数),时间加减,日期运算

    根据传入的日期做加减法计算,整数为加法,负数为减法,但是是天. num可传入: 1,2,3,-1,-2,-3等,默认是加一天:date可传入: 2017-01-01格式的,不传的话默认是当天日期. f ...

  8. js日期加横杆_js实现的将年月日用横线链接格式化代码

    本章节介绍一下如何将一个时间对象格式化为年月日用横线连接的形式,因为这种形式是比较流行的一个格式,下面就通过代码实例介绍一下如何利用javascript实现此效果,代码如下:[JavaScript] ...

  9. mysql日期加天_MySql日期加天数,小时,分钟...得到新的时间

    在当前的日期上加三天,天数随便改: SELECT date_add(CURRENT_DATE(), interval 3 day); 在指定的日期上加三天: SELECT date_add('2014 ...

最新文章

  1. css3 局部放大,CSS3/JS 鼠标悬停图片局部放大动效
  2. zuul filter
  3. php微信回复乱码,php版微信公众平台回复中文出现乱码问题的解决方法
  4. 'utf-8' codec can't decode byte 0xff in position 0:
  5. UA MATH564 概率论V 中心极限定理
  6. 35年编程史沉淀下来的8条宝贵经
  7. php unicode 插入 mysql_关于MySQL的一些骚操作——提升正确性,抠点性能
  8. 了不起的华人女数学家们
  9. Python单元测试介绍及单元测试理解,单元测试的自动生成(对函数进行测试)
  10. MessageFormat占位符使用
  11. Tomcat局域网多端口建立多网站
  12. Halcon 多个点拟合圆
  13. 分布式发布订阅模型网络的实现有哪些
  14. 双向晶闸管触发电路工作原理图
  15. vue 文字转语音mp3_vue项目或网站上实现文字转换成语音播放功能
  16. 印刷文字的字体与字号规定
  17. CH341A编程器驱动下载地址及P751dm2模具设置方法截图
  18. 决胜经典算法之冒泡排序
  19. word中插入参考文献标号以及如何引用参考文献
  20. 好不容易弄好了google app engine ,想不到不能用了。只好去安装sina app engine

热门文章

  1. 数据库字段为什么要使用NOT NULL
  2. PaddleOCR 识别使用遇到的问题
  3. android 揭示动画_Java专家考虑了模块化Java的未来,并揭示了Java 11愿望清单中的内容
  4. 用于平面固体氧化物燃料电池(SOFC)断裂分析的三维数值模拟工具
  5. 极路由s1有wds_极路由极壹S评测:内置网速限制 需购SD卡
  6. 学习Linux命令(41)
  7. 2022-1-15 Leetcode 165.比较版本号
  8. 内容运营专家认证考试
  9. 转行学设计,平面设计和UI设计哪个好?
  10. 西门子工控机维修IPC-847D开机不启动黑屏白屏