当前位置: 首页 > news >正文

常用的日期时间处理库Day.js和Moment.js

Day.js 和 Moment.js 都是 JavaScript 中常用的日期时间处理库,功能上有很多重叠,但设计理念和使用体验有显著区别。

  1. 可变性
  • Moment.js 对象是可变的
    • 对日期的修改会直接改变原对象,容易导致意外副作用。
    • 需要 clone 一个新的对象来操作
  • Day.js 对象是不可变的
    • Day.js 并没有对原生 Date.prototype 做任何修改, 而是给 Date 对象做了一层封装。 使用支持的数据格式调用 dayjs() 即可取到这个封装的对象。
    • Day.js 对象是不可变的,所有的 API 操作都将返回一个全新的实例。
  1. 体积
  • Moment.js
    • Moment 无法很好地与现代“tree shaking”算法配合使用,因此它往往会增加 Web 应用程序包的大小。如果需要国际化或时区支持,Moment 可能会变得非常大。
  • Day.js
    • Moment.js 的 2kB 轻量化方案,拥有同样强大的 API
  1. 功能扩展方式
  • Moment.js
    • x
  • Day.js
    • 采用插件化设计,默认情况下,Day.js 只包含核心的代码,并没有安装任何插件,高级功能(如时区、相对时间、自定义解析)需手动引入插件
    var utc = require("dayjs/plugin/utc");
    // import utc from 'dayjs/plugin/utc' // ES 2015var timezone = require("dayjs/plugin/timezone"); // dependent on utc plugin
    // import timezone from 'dayjs/plugin/timezone' // ES 2015dayjs.extend(utc);
    dayjs.extend(timezone);const timestamp = "2014-06-01 12:00";
    const tz = "America/New_York";const dayjsLocal = dayjs(timestamp); //assumes UTC
    //dayjsLocal.toISOString() -> 2014-06-01T12:00:00.000Z
    //dayjsLocal.format('YYYY-MM-DDTHH:mm:ss') -> 2014-06-01T12:00:00const dayjsAmerica = dayjsLocal.tz(tz); //existing time treated as UTC
    //dayjsAmerica.toISOString() -> 2014-06-01T12:00:00.000Z
    //dayjsAmerica.format('YYYY-MM-DDTHH:mm:ss') -> 2014-06-01T08:00:00const dayjsAmericaKeep = dayjsLocal.tz(tz, true); //existing time treated as local time
    //dayjsAmericaKeep.toISOString() -> 2014-06-01T16:00:00.000Z
    //dayjsAmericaKeep.format('YYYY-MM-DDTHH:mm:ss') -> 2014-06-01T12:00:00
    
    • 先到这,后面补。。。。
http://www.dtcms.com/a/469602.html

相关文章:

  • Verilog和FPGA的自学笔记5——三八译码器(case语句与锁存器)
  • Mpi多机通信环境搭建(2台机器)
  • 简述网站制作流程图如何免费注册淘宝店铺
  • 人工智能在数学教育中的应用 | 现状、探索与实践
  • VSCode括号高亮插件(vscode插件)bracket pair、活动括号对、括号线(未完全检查)
  • FPGA强化-串口rs232
  • 为何建设银行网站无法登陆公司官网开发
  • 2020年多媒体应用设计师考试上午真题
  • 构建算法远程开发调试环境
  • 南通网站建设系统方案龙岩网站设计 信任推商吧做词
  • Vivado进阶-Fpga中的mem的综合和应用
  • Jmeter设置负载阶梯式压测场景(详解教程)
  • 网站运营专员做六休一wordpress托管网站
  • WPF用户控件和依赖属性
  • 位运算 和 逻辑运算 以及 位运算指令
  • 工地招聘网站广告设计与制作视频
  • C++右值语义解析
  • java-高级技术(单元测试、反射)
  • 厦门做网站公司有哪些邯郸
  • Spring Boot 项目集成 Gradle:构建、测试、打包全流程教程
  • 电商主要是做什么工作东莞seo收费
  • SAP MM 通用物料移动过账冲销接口分享
  • 设计logo免费网站电商网站对比表格
  • SAP Vendor Invoice Management by OpenText (VIM)
  • 用 PyQt5 + PyPDF2 做一个“智能分页”的大 PDF 拆分器(含 GUI 与命令行双版本,附完整源码)
  • 芯片结构简介-arm/x86
  • Agentic AI 教程与 AI 编程入门:从基础到实战(含代码、流程图与 Prompt)
  • 做一个公司网站一般多少钱自己做的网站怎么放视频
  • 开源软件License科普:GPL/LGPL/Apache/木兰等license解析
  • React闭包陷阱(stale closure)介绍(React状态更新引用旧值)解决方法:使用函数式更新写法