JavaScript日期处理不再难!Day.js带你飞!( 三 )


dayjs.extend(window.dayjs_plugin_relativeTime);dayjs('1980-01-01').toNow() // Output: in 43 years缺少后缀 。
dayjs('1980-01-01').toNow(true) // Output: 43 years如何生成日期的Unix时间戳这将给出 Day.js 对象的 Unix 时间戳,即自 Unix 纪元以来的秒数 。Unix 时间戳对象是 Day.js 中的内置对象,因此使用它不需要调用插件 。
没有毫秒:
dayjs('2019-01-25').unix() // Output: 1548370800以毫秒为单位:
dayjs('2019-01-25').valueOf() // Output: 1548370800000根据 Day.js 文档,始终建议使用 Unix 时间戳 。
计算一个月的天数获取当前月份的天数,无需插件:
dayjs('2020-02-04').daysInMonth() // Output: 29将日期作为对象返回为了以对象格式返回日期,应该使用带有CDN的toObject插件,或在node.js或ES6导入中要求它 。
CDN:
<script src=https://www.isolves.com/it/cxkf/yy/js/2023-04-17/"https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.11.5/plugin/toObject.min.js"integrity="sha512-qWOc7v2jfO5Zg34fVOIfnpvDopsqDBilo8Onabl/MHIr5idHpg73tVRUGDMVOQs2dUEsmayiagk75Ihjn6yanA=="crossorigin="anonymous" referrerpolicy="no-referrer">Node.js:
var dayjs = require('dayjs')var toObject = require('dayjs/plugin/toObject')dayjs.extend(toObject)使用 toObject() 扩展 CDN:
<script>dayjs.extend(window.dayjs_plugin_toObject);dayjs('2020-01-25').toObject()</script>输出:
{date: 25, hours: 0, milliseconds: 0, minutes: 0, months: 0, seconds: 0, years: 2020}将日期作为数组返回为了以数组格式返回日期,应该使用带有CDN的 ToArray 插件,或在node.js或ES6导入中要求它 。
Node.js:
var toArray = require('dayjs/plugin/toArray')dayjs.extend(toArray)dayjs.extend(window.dayjs_plugin_toArray);dayjs('2022-08-04').toArray() // Output: [2022, 7, 4, 0, 0, 0, 0]以 JSON 格式获取时间和日期将其序列化为 ISO 8601 字符串格式,无需插件:
dayjs('2019-06-25').toJSON() // Output: 2019-06-24T23:00:00.000Zdayjs('1996-01-11').toJSON() // Output: 1996-01-10T23:00:00.000Zdayjs('2025-05-10').toJSON() // Output: 2025-05-09T23:00:00.000Z提供日期和时间作为字符串返回一个包含日期表示的字符串,不需要插件:
dayjs('2025-03-20').toString() // Output: Wed, 19 Mar 2025 23:00:00 GMTdayjs('2010-08-08').toString() // Output: Sat, 07 Aug 2010 23:00:00 GMTdayjs('01-2005-25').toString() // @ Error output: Invalid Date解析日期Day.js 对象是不可变的,这意味着所有修改它的 API 操作都会产生一个新的对象实例 。
字符串转日期:检查以下代码以解析字符串并以日期格式返回它:
dayjs('2020-08-04T15:00:00.000Z')一个已存在的本地 JavaScript Date 对象可以用来创建一个 Day.js 对象:
 let d = new Date(2021, 02, 11);let day = dayjs(); // The date returned by the first formatted date is copied in this line现在使用Parse:请参见下面的代码,以使用Parse返回当前日期
 new Date(2021, 02, 11);// Alternativedayjs(new Date());验证要检查日期和时间是否有效,请使用 Day.js 中的 .isValid() 方法 。该方法会产生一个布尔结果:
dayjs('1996-05-01').isValid(); // Output: truedayjs('dummy text').isValid(); // Output: falsedayjs('2005-06-09').isValid(); // Output: true时区Day.js为观察相同标准时间的地区提供时区兼容性 。使用Day.js时区需要一个插件 。要在Day.js中使用时区,我们需要同时安装时区和UTC插件:
const dayjs = require('dayjs')const utc = require('dayjs/plugin/utc')const timezone = require('dayjs/plugin/timezone') // dependent on utc plugindayjs.extend(utc)dayjs.extend(timezone)UTC插件的 CDN:
<script src=https://www.isolves.com/it/cxkf/yy/js/2023-04-17/"https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.11.5/plugin/utc.min.js"integrity="sha512-z84O912dDT9nKqvpBnl1tri5IN0j/OEgMzLN1GlkpKLMscs5ZHVu+G2CYtA6dkS0YnOGi3cODt3BOPnYc8Agjg=="crossorigin="anonymous" referrerpolicy="no-referrer">时区插件的 CDN:<script src=https://www.isolves.com/it/cxkf/yy/js/2023-04-17/"https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.11.5/plugin/timezone.min.js"integrity="sha512-fG1tT/Wn/ZOyH6/Djm8HQBuqvztPQdK/vBgNFLx6DQVt3yYYDPN3bXnGZT4z4kAnURzGQwAnM3CspmhLJAD/5Q=="crossorigin="anonymous" referrerpolicy="no-referrer">Day.js 扩展时区和 UTC 插件:
<script>dayjs.extend(window.dayjs_plugin_utc)dayjs.extend(window.dayjs_plugin_timezone);<script>


推荐阅读