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

import Dayjs from "dayjs";在本教程中,我们将使用Day.js CDN和纯JavaScript在浏览器中格式化日期和时间 。
ISO概述表达数字日历日期并消除歧义的标准方法是国际标准化组织(ISO)日期格式 。可以使用JavaScript日期方法toISOString(),它以ISO格式返回新形成的日期,以确认此格式 。
格式化日期当我们在浏览器中运行 Day.js 时,.format() 方法会返回一个 ISO 格式的字符串 。这与原生 JavaScript 的 toISOString() 日期构造函数方法非常相似 。
 console.log(dayjs().format())//Output: 2022-08-17T09:28:20+01:00在方括号内放置转义字符(例如 [MM,DD,YY]):
 dayjs().format() // Output: 2022-08-17T09:31:09+01:00 dayjs().format('MM') // Output: 08dayjs().format('DD') // Output: 17dayjs().format('YY') // Output: 22dayjs().format('MMMM') // August此外,可以定义你希望日期以哪种格式返回:
console.log(dayjs('2022-04-2').format('DD/MM/YYYY')) // Output: 02/04/2022更多格式化内容:
dayjs().format('a') // amdayjs().format('A') // AM// @ The offset from UTC, ±HHmmdayjs().format('ZZ') // +0100// @ The millisecond, 3-digitsdayjs().format('SSS') // 912dayjs().format('h:mm A') // 8:28 AMdayjs().format('h:mm:ss A') // 8:30:51 AM dayjs().format('MM/DD/YYYY') // 08/19/2022dayjs().format('M/D/YYYY') // 8/19/2022dayjs().format('ddd, hA')// Output:"Fri, 8AM"dayjs().format('MMM D, YYYY') // Aug 19, 2022我们还可以看到一些高级的日期格式:
dayjs().format('ddd, MMM D, YYYY h:mm A ');// @ Output: Fri, Aug 19, 2022 8:23 AMdayjs().format('MMM D, YYYY h:mm A');// Aug 19, 2022 8:24 AMdayjs().format('dddd, MMMM D YYYY, h:mm:ss A')// Output:"Friday, August 19 2022, 8:15:51 AM"dayjs().format('dddd, MMMM Do YYYY, h:mm:ss A')// output => "Friday, August 19o 2022, 8:15:51 AM"RelativeTime 插件在继续其他示例之前,我们来讨论一下 RelativeTime 插件 。使用 RelativeTime 插件,可以将日期和时间数字转换为相对语句,例如“5小时前” 。
使用CD安装浏览器:我们必须使用Relativetime CDN,然后使用Day.js设置它,以使RelativeTime插件正常工作 。
<script src=https://www.isolves.com/it/cxkf/yy/js/2023-04-17/"https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.11.5/dayjs.min.js"integrity="sha512-Ot7ArUEhJDU0cwoBNNnWe487kjL5wAOsIYig8llY/l0P2TUFwgsAHVmrZMHsT8NGo+HwkjTJsNErS6QqIkBxDw=="crossorigin="anonymous" referrerpolicy="no-referrer">其次 从cdnjs.com获取的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/relativeTime.min.js">相对时间插件正在为 Day.js 进行设置:
 <script>dayjs.extend(window.dayjs_plugin_relativeTime)</script>Node.js和ES6导入的 RelativeTime 插件当使用 npm i dayjs 时,RelativeTime 插件位于 Day.js 包内 。只需要Day内的RelativeTime 路径即可使用它 。
const dayjs = require('dayjs')var relativeTime = require('dayjs/plugin/relativeTime')dayjs.extend(relativeTime)ES6 import
import Dayjs from "dayjs";import relativeTIme from "dayjs/plugin/relativeTime";Dayjs.extend(relativeTIme);从 X 获取时间提供表示相对于X的时间字符串 。相对时间插件将使我们能够实现这一点 。
始终确保使用 dayjs.extend 配置相关插件 。您可以阅读更多关于 Day.js 插件的信息 。
 dayjs.extend(window.dayjs_plugin_relativeTime);var a = dayjs("2022-01-01");console.log(dayjs("2020-01-01").from(a))// Output: 2 years ago如果传递 true,可以获得没有后缀的值 。
 dayjs.extend(window.dayjs_plugin_relativeTime);var a = dayjs("2022-01-01");console.log(dayjs("2020-01-01").from(a, true))// Output: 2 years从现在开始计算时间这将把相对于现在的时间字符串转换出来 。现在需要一个RelativeTime插件 。
<script>dayjs.extend(window.dayjs_plugin_relativeTime);console.log(dayjs('2000-01-01').fromNow()) </script>来自未来:
<script>dayjs.extend(window.dayjs_plugin_relativeTime);console.log(dayjs('2050-01-01').fromNow()) </script>// Output: in 27 years没有后缀:您]可以使用true布尔值提供返回日期字符串 。
dayjs.extend(window.dayjs_plugin_relativeTime);dayjs('2000-01-01').fromNow(true)// Output: 23 years获取当前时间这将返回一个表示相对时间到现在的字符串 。请记住,这取决于相对时间插件 。


推荐阅读