js如何把空时间写入后台mysql,dayjs时间处理库基本使用

Day.js 是一个轻量的 JavaScript 时间日期处理库,与 Moment.js 的 API 设计保持一致。

本文只介绍了一些常用操作,关于国际化、插件、自定义等高级内容详见官方文档。

其主要特性如下:

与 Moment.js 相同的 API 和用法

不可变数据(Immutable)

支持链式操作(Chainable)

只有 2kb 大小(一些高级用法以扩展的形式存在,可按需加载)

全浏览器兼容

强大的国际化支持(I18n)

1. 安装

1.1. 下载

dayjs().format()

1.2. CDN

1.3. Node.JS

npm install dayjs --save

var dayjs = require('dayjs')

//import dayjs from 'dayjs' // ES 2015

dayjs().format()

1.4. TypeScript

npm install dayjs --save

import * as dayjs from 'dayjs'

dayjs().format()

2. API

2.1. 解析

Day.js 并没有改变或覆盖 Javascript 原生的 Date.prototype, 而是创造了一个全新的包含 Javascript Date 的 Day.js 对象,可以直接使用 dayjs() 来调用。

Day.js 对象是不可变的, 所有的 API 操作都将返回一个新的 Day.js 对象。

// 返回包含当前日期和时间的 Day.js 对象

// 什么都不传,相当于 dayjs(new Date())

let now = dayjs();

// 传入一个标准的 ISO 8601 时间字符串

// https://en.wikipedia.org/wiki/ISO_8601

let date = dayjs('2020-06-01');

// 传入一个 Unix 时间戳 (13位)

let date = dayjs(1591149248030);

// 传入一个 Javascript Date 对象

let date = dayjs(new Date(2020, 6, 1));

// 因为 Day.js 对象是不可变的,可使用如下方法获取一个对象拷贝

let date1 = date.clone(); // 方法一:在一个 Day.js 对象上使用 clone 函数

let date2 = dayjs(date); // 方法二:传入一个 Day.js 对象

// 检查当前 Day.js 对象是否是有效日期时间

if (dayjs().isValid()) {

// 有效

} else {

// 无效

}

2.2. 获取和设置

// 获取,返回 number 类型的值

dayjs().year(); // 年 ==> dayjs().get('year')

dayjs().month(); // 月 ==> dayjs().get('month')

dayjs().date(); // 日 ==> dayjs().get('date')

dayjs().hour(); // 时 ==> dayjs().get('hour')

dayjs().minute(); // 分 ==> dayjs().get('minute')

dayjs().second(); // 秒 ==> dayjs().get('second')

dayjs().millisecond(); // 毫秒 ==> dayjs().get('millisecond')

dayjs().day(); // 本周的第几天 ==> dayjs().get('day')

// 设置,单位对应的值大小写不敏感

dayjs().set('month', 3);

dayjs().set('second', 30);

2.3. 操作

// 增加

dayjs().add(7, 'day'); // 增加 7 天

// 减少

dayjs().subtract(2, 'month'); // 减少 2 个月

// 开头

dayjs().startOf('month'); // 当月第一天

// 末尾

dayjs().endOf('year'); // 当年最后一天

2.4. 显示

// 格式化

dayjs().format(); // 默认格式,如:2020-06-03T20:06:13+08:00

dayjs().format("YYYY-MM-DD HH:mm:ss"); // 指定格式 2020-06-03 20:07:12

// 获取两个 Day.js 对象的时间差,默认毫秒,可指定单位

dayjs('2020').diff(dayjs('1998')); // 694224000000

dayjs('2020').diff(dayjs('1998'), 'year'); // 22

// 时间戳

dayjs().valueOf(); // 毫秒

dayjs().unix(); // 秒

// 天数

dayjs('2020-07').daysInMonth(); // 31

// 原生 Date 对象

dayjs().toDate(); // Wed Jun 03 2020 20:13:40 GMT+0800 (China Standard Time)

// 返回 ISO 8601 格式的字符串

dayjs().toJSON(); // "2020-06-03T12:15:54.635Z"

dayjs().toISOString(); // "2020-06-03T12:16:48.199Z"

2.5. 查询

// 检查一个日期是否在另一个日期之前

dayjs('2020-06-03').isBefore(dayjs('2020-05-03')); // false

// 检查一个日期是否在另一个日期之后

dayjs('2020-06-03').isAfter(dayjs('2020-05-03')); // true

// 检查两个日期是否相同

dayjs('2020-06-03').isSame(dayjs('2020-06-03')); // true

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值