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

94ed361529360b93d3f95d18b419e11e.png

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
c5f75497447d79abecefa5785728ab5a.png

</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
c5f75497447d79abecefa5785728ab5a.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值