Day.js常用方法集合

这篇具有很好参考价值的文章主要介绍了Day.js常用方法集合。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Day.js是一个轻量级的JavaScript日期库,具有简单易用、无依赖和体积小的特点。下面将介绍Day.js的优点和缺点。

目录

优点:

缺点:

接下来我们将详细介绍 Day.js 的使用方法,并附上代码示例和各种事件格式的转换。

安装与基本用法

然后,在你的代码中导入 Day.js:

使用 dayjs() 函数创建一个 Day.js 实例,然后就可以通过该实例来对日期进行各种操作。

Day.js 提供了很多方便的 API 来操作日期,比如加减天数、小时、分钟等等。

Day.js 还支持同时对多个日期进行操作,比如计算两个日期之间的天数差:

解析日期:

格式化日期:

获取当前日期:

增加日期:

减少日期:

比较日期:

获取日期之间的差异:

获取日期的某个部分:

设置日期的某个部分:

本地化显示日期:

格式化日期

Day.js 还支持自定义格式化函数,你可以传入一个回调函数来定义自己的日期格式。

日期解析

Day.js 还支持解析 Unix 时间戳。

国际化支持

日期比较

日期格式化

将日期格式化为本地格式:

时间格式的转换

将日期转换为 Unix 时间戳:

事件操作

加减天数:

比较两个日期的差异:

总结:


标题有部分重复,请见谅

优点:

  1. 简单易用:Day.js的语法简单,易于理解和上手。它提供了丰富的日期操作方法和格式化选项,使得处理日期和时间变得容易和灵活。

  2. 体积小:Day.js的体积非常小,压缩后只有2 KB左右。这使得它成为一个非常轻量级的日期库,可以帮助优化网页加载速度,特别是在移动设备上。

  3. 无依赖:Day.js是一个独立的日期库,不依赖任何其他的第三方库。这使得它在项目中使用起来非常方便,不需要处理其他库的版本冲突和兼容性问题。

  4. 时区支持:Day.js支持时区操作,可以轻松处理不同时区的日期和时间。这对于国际化的应用程序非常有用,并且可以避免时区转换的复杂性。

  5. 插件生态系统:Day.js有一个丰富的插件生态系统,可以扩展其功能和特性。这些插件可以满足不同项目的需求,包括日期范围选择、日历显示等。

缺点:

  1. 功能相对有限:相比于一些其他日期库,Day.js的功能相对有限。它不支持一些复杂的日期操作,如日期运算、日期比较、日期范围计算等。如果需要处理复杂的日期逻辑,可能需要额外的编码工作。

  2. 社区支持相对较少:相比于其他大型日期库,Day.js的社区支持相对较少。这意味着在遇到问题或需要帮助时,可能无法得到及时和全面的解决方案。

  3. 时间格式化选项相对有限:尽管Day.js提供了一些常用的时间格式化选项,但相对于其他日期库,它的时间格式化选项相对有限。这可能对一些特定的格式化需求造成限制。

接下来我们将详细介绍 Day.js 的使用方法,并附上代码示例和各种事件格式的转换。

安装与基本用法

可以通过 npm 或者 yarn 来安装 Day.js:

# 使用 npm
$ npm install dayjs

# 使用 yarn
$ yarn add dayjs

然后,在你的代码中导入 Day.js:

import dayjs from 'dayjs';

或者:

const dayjs = require('dayjs');

使用 dayjs() 函数创建一个 Day.js 实例,然后就可以通过该实例来对日期进行各种操作。

const now = dayjs();  // 创建一个 Day.js 实例,表示当前时间
console.log(now.format('YYYY-MM-DD'));  // 输出当前日期,格式为"YYYY-MM-DD"

Day.js 提供了很多方便的 API 来操作日期,比如加减天数、小时、分钟等等。

console.log(now.add(1, 'day').format('YYYY-MM-DD'));  // 加一天
console.log(now.subtract(1, 'week').format('YYYY-MM-DD'));  // 减一周
console.log(now.startOf('month').format('YYYY-MM-DD'));  // 月初日期
console.log(now.endOf('month').format('YYYY-MM-DD'));  // 月末日期

Day.js 还支持同时对多个日期进行操作,比如计算两个日期之间的天数差:

const start = dayjs('2022-01-01');
const end = dayjs('2022-01-10');
console.log(end.diff(start, 'day'));  // 输出10,表示两个日期之间的天数差

解析日期:

const date = dayjs('2022-01-01');

格式化日期:

const formattedDate = date.format('YYYY-MM-DD');

获取当前日期:

const currentDate = dayjs();

增加日期:

const newDate = date.add(1, 'day');

减少日期:

const newDate = date.subtract(1, 'day');

比较日期:

const isAfter = date1.isAfter(date2);
const isBefore = date1.isBefore(date2);
const isSame = date1.isSame(date2);

获取日期之间的差异:

const diff = date1.diff(date2, 'day');

获取日期的某个部分:

const year = date.year();
const month = date.month();
const day = date.date();
const hour = date.hour();
const minute = date.minute();
const second = date.second();

设置日期的某个部分:

const newDate = date.year(2023).month(1).date(1);

本地化显示日期:

import localizedFormat from 'dayjs/plugin/localizedFormat';
import 'dayjs/locale/zh-cn';

dayjs.extend(localizedFormat);
dayjs.locale('zh-cn');

const formattedDate = date.format('LL');

格式化日期

Day.js 提供了 format() 方法来格式化日期。它使用类似于 Moment.js 的字符串模板来定义日期的输出格式。

以下是一些常用的模板字符串:

- YYYY:4 位数的年份,如 2022
- MMMM:月份的全名,如 January
- MMM:月份的缩写,如 Jan
- DD:2 位数的日期,如 01
- dddd:星期的全名,如 Sunday
- ddd:星期的缩写,如 Sun
- HH:24 小时制的小时数,如 08
- hh:12 小时制的小时数,如 08
- mm:分钟数,如 01
- ss:秒数,如 01

console.log(now.format('YYYY-MM-DD'));  // 输出当前日期,格式为"YYYY-MM-DD"
console.log(now.format('YYYY-MM-DD HH:mm:ss'));  // 输出当前日期和时间,格式为"YYYY-MM-DD HH:mm:ss"
console.log(now.format('YYYY年M月D日 dddd'));  // 输出当前日期,格式为"YYYY年M月D日 dddd"
// 格式化为相对时间(如:几秒前、几分钟前)
dayjs.duration(60, 'seconds').humanize(); // "a minute"

// 格式化为时:分:秒
dayjs.duration(3661, 'seconds').format('H:mm:ss'); // "1:01:01"

// 格式化为天
dayjs.duration(2, 'days').asDays(); // 2

Day.js 还支持自定义格式化函数,你可以传入一个回调函数来定义自己的日期格式。

const customFormat = dayjs('2022-01-01').format(function () {
  return 'Happy New Year!';
});
console.log(customFormat);  // 输出"Happy New Year!"
// 转换为 Unix 时间戳
dayjs().unix();

// 转换为 JavaScript Date 对象
dayjs().toDate();

// 转换为 ISO 8601 格式的字符串
dayjs().toISOString();

日期解析

Day.js 支持解析各种常见的日期格式,包括 ISO 8601 格式和各种本地格式。

const date = dayjs('2022-01-01');
console.log(date.format('YYYY-MM-DD'));  // 输出"2022-01-01"
// 转换为 Unix 时间戳
dayjs().unix();

// 转换为 JavaScript Date 对象
dayjs().toDate();

// 转换为 ISO 8601 格式的字符串
dayjs().toISOString();

Day.js 还支持解析 Unix 时间戳。

const unixTimestamp = 1640995200;  // Unix 时间戳
const date = dayjs.unix(unixTimestamp);
console.log(date.format('YYYY-MM-DD'));  // 输出"2022-01-01"

国际化支持

Day.js 内置了 66 种语言的国际化支持,你可以方便地在你的应用中切换不同的语言。下面是一些常用的国际化示例:

import dayjs from 'dayjs';
import 'dayjs/locale/zh-cn'; // 导入中文语言包

// 设置语言为中文
dayjs.locale('zh-cn');

// 格式化日期
dayjs().format('dddd'); // "星期六"

日期比较

Day.js 提供了一些方法来比较日期的大小。

const date1 = dayjs('2022-01-01');
const date2 = dayjs('2022-01-02');
console.log(date1.isBefore(date2));  // 输出 true,表示 date1 在 date2 之前
console.log(date1.isAfter(date2));  // 输出 false,表示 date1 在 date2 之后
console.log(date1.isSame(date2, 'day'));  // 输出 false,表示 date1 和 date2 不是同一天

日期格式化

Day.js 提供了一些方法来格式化日期。你可以将日期格式化为本地格式、UTC 格式、ISO 8601 格式等等。

将日期格式化为本地格式:

const date = dayjs('2022-01-01');
console.log(date.format('LL'));  // 输出 January 1, 2022

将日期格式化为 UTC 格式:

const date = dayjs('2022-01-01');
console.log(date.utc().format('YYYY-MM-DD HH:mm:ss'));  // 输出 2022-01-01 00:00:00

将日期格式化为 ISO 8601 格式:

const date = dayjs('2022-01-01');
console.log(date.toISOString());  // 输出 2022-01-01T00:00:00.000Z

时间格式的转换

Day.js 提供了一些方法来转换不同的事件格式,比如将日期转换为 Unix 时间戳、将日期转换为 JavaScript Date 对象等等。

将日期转换为 Unix 时间戳:

const date = dayjs('2022-01-01');
console.log(date.unix());  // 输出 1640995200

将日期转换为 JavaScript Date 对象:

const date = dayjs('2022-01-01');
console.log(date.toDate());  // 输出 Sat Jan 01 2022 00:00:00 GMT+0800 (China Standard Time)

将日期转换为 Moment.js 对象:

const date = dayjs('2022-01-01');
console.log(date.toDate());  // 输出 Moment<2022-01-01T00:00:00+08:00>

事件操作

Day.js 提供了一些方法来操作日期,比如加减天数、小时、分钟等等。

加减天数:

const date = dayjs('2022-01-01');
console.log(date.add(1, 'day').format('YYYY-MM-DD'));  // 输出 2022-01-02
console.log(date.subtract(1, 'day').format('YYYY-MM-DD'));  // 输出 2021-12-31

比较两个日期的差异:

const date1 = dayjs('2022-01-01');
const date2 = dayjs('2022-01-10');
console.log(date)

总结:

Day.js 是一个轻量级,易于使用的 JavaScript 日期库,提供了强大的日期和时间处理功能。它具有简洁的 API,支持链式操作和不可变性。Day.js 支持国际化显示和各种格式的日期和时间的解析和格式化。它还提供了丰富的插件系统,可以轻松扩展功能。无论是在 Web 还是 Node.js 环境下,Day.js 都是一个不错的选择。

Day.js常用方法集合,day.js,js,javascript,开发语言,Day.js文章来源地址https://www.toymoban.com/news/detail-818254.html

到了这里,关于Day.js常用方法集合的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • day3 驱动开发 c语言编程

    通过ioctl(内核+应用层) 控制led灯三盏,风扇,蜂鸣器,小马达 头文件head.h 内核代码 ioctldev.c 应用层代码 ioctl.c

    2024年02月16日
    浏览(55)
  • day31WEB攻防-通用漏洞&文件上传&js验证&mime&user.ini&语言特性

    目录 1.JS验证 2.JS验证+MIME  3.JS验证+.user.ini  4.JS验证+.user.ini+短标签 (ctfshow154,155关) 5.JS验证+.user.ini+短标签+过滤 [ ] 6.JS验证+.user.ini+短标签+加过滤+文件头 有关文件上传的知识 1.为什么文件上传存在漏洞        上传文件时,如果服务瑞代码未对客户端上传的文件进行严

    2024年01月25日
    浏览(47)
  • day14_集合

    零、 复习昨日 一、集合框架体系 二、Collection 三、泛型 四、迭代 五、List( ArrayList 、LinkedList) throw和throws什么区别 throw throws 位置 方法里面 方法签名上 怎么写 throw + 异常对象 throws+异常类名(多个) 作用 真正抛出异常对象 声明抛出的异常类型 运行时异常有哪些,什么特点 运行

    2024年02月08日
    浏览(27)
  • Day31:安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测

    目录 打包器-WebPack-使用安全 第三方库-JQuery-使用安全 思维导图 JS知识点: 功能:登录验证,文件操作, SQL 操作,云应用接入,框架开发,打包器使用等 技术:原生开发, DOM ,常见库使用,框架开发( Vue , NodeJS ),打包器 ( Webpack ) 等 安全:原生开发安全, NodeJS 安全,

    2024年03月14日
    浏览(52)
  • 【100天精通python】Day42:python网络爬虫开发_HTTP请求库requests 常用语法与实战

    目录 1 HTTP协议 2  HTTP与HTTPS 3 HTTP请求过程  3.1 HTTP请求过程 3.2 GET请求与POST请求

    2024年02月12日
    浏览(57)
  • 〖大前端 - 基础入门三大核心之JS篇㉔〗- JavaScript 的数组的常用方法 (一)

    当前子专栏 基础入门三大核心篇 是免费开放阶段 。 推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 大前端全栈架构白宝书专栏, 目前阶段免费开放 , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:除了通过订阅\\\"白宝书系列专

    2024年02月07日
    浏览(55)
  • 前端JavaScript入门-day05

    (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 对象(object):JavaScript里的一种数据类型 可以理解为是一种无序的数据集合, 注意数组是有序的数据集合 用来描述某个事物,例如描述一个人 人有姓名、年龄、性别等信息

    2024年02月11日
    浏览(46)
  • 前端JavaScript入门-day03

    (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 1、循环-for 1. for 循环-基本使用 1. for循环语法 2. 退出循环  2. for 循环嵌套  2、数组  1 数组是什么 2 数组的基本使用  1. 声明语法 2. 取值语法  3. 一些术语:  4. 遍历

    2024年02月11日
    浏览(49)
  • JAVA基础学习笔记-day14-数据结构与集合源码2

    博文主要是自己学习JAVA基础中的笔记,供自己以后复习使用,参考的主要教程是B站的 尚硅谷宋红康2023大数据教程 君以此始,亦必以终。—左丘明《左传·宣公十二年》 7.1 List接口特点 List集合所有的元素是以一种 线性方式 进行存储的,例如,存元素的顺序是11、22、33。那

    2024年01月18日
    浏览(60)
  • JavaSE学习进阶day06_03 Collections类和Map集合

    java.utils.Collections 是集合工具类,用来对集合进行操作。 常用方法如下: public static void shuffle(List? list) :打乱集合顺序。 public static T void sort(ListT list) :将集合中元素按照默认规则排序。 public static T void sort(ListT list,Comparator? super T ) :将集合中元素按照指定规则排序。 代码演示

    2023年04月26日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包