欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Day.js常用方法集合(附各種事件格式的轉(zhuǎn)換)

 更新時(shí)間:2024年03月18日 10:44:26   作者:跟Bug雙向奔赴  
dayjs是一個(gè)輕量的處理時(shí)間和日期的JavaScript庫(kù),下面這篇文章主要給大家介紹了關(guān)于Day.js常用方法的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

標(biāo)題有部分重復(fù),請(qǐng)見(jiàn)諒

優(yōu)點(diǎn):

  • 簡(jiǎn)單易用:Day.js的語(yǔ)法簡(jiǎn)單,易于理解和上手。它提供了豐富的日期操作方法和格式化選項(xiàng),使得處理日期和時(shí)間變得容易和靈活。

  • 體積?。篋ay.js的體積非常小,壓縮后只有2 KB左右。這使得它成為一個(gè)非常輕量級(jí)的日期庫(kù),可以幫助優(yōu)化網(wǎng)頁(yè)加載速度,特別是在移動(dòng)設(shè)備上。

  • 無(wú)依賴(lài):Day.js是一個(gè)獨(dú)立的日期庫(kù),不依賴(lài)任何其他的第三方庫(kù)。這使得它在項(xiàng)目中使用起來(lái)非常方便,不需要處理其他庫(kù)的版本沖突和兼容性問(wèn)題。

  • 時(shí)區(qū)支持:Day.js支持時(shí)區(qū)操作,可以輕松處理不同時(shí)區(qū)的日期和時(shí)間。這對(duì)于國(guó)際化的應(yīng)用程序非常有用,并且可以避免時(shí)區(qū)轉(zhuǎn)換的復(fù)雜性。

  • 插件生態(tài)系統(tǒng):Day.js有一個(gè)豐富的插件生態(tài)系統(tǒng),可以擴(kuò)展其功能和特性。這些插件可以滿(mǎn)足不同項(xiàng)目的需求,包括日期范圍選擇、日歷顯示等。

缺點(diǎn):

  • 功能相對(duì)有限:相比于一些其他日期庫(kù),Day.js的功能相對(duì)有限。它不支持一些復(fù)雜的日期操作,如日期運(yùn)算、日期比較、日期范圍計(jì)算等。如果需要處理復(fù)雜的日期邏輯,可能需要額外的編碼工作。

  • 社區(qū)支持相對(duì)較少:相比于其他大型日期庫(kù),Day.js的社區(qū)支持相對(duì)較少。這意味著在遇到問(wèn)題或需要幫助時(shí),可能無(wú)法得到及時(shí)和全面的解決方案。

  • 時(shí)間格式化選項(xiàng)相對(duì)有限:盡管Day.js提供了一些常用的時(shí)間格式化選項(xiàng),但相對(duì)于其他日期庫(kù),它的時(shí)間格式化選項(xiàng)相對(duì)有限。這可能對(duì)一些特定的格式化需求造成限制。

接下來(lái)我們將詳細(xì)介紹 Day.js 的使用方法,并附上代碼示例和各種事件格式的轉(zhuǎn)換。

安裝與基本用法

可以通過(guò) npm 或者 yarn 來(lái)安裝 Day.js:

# 使用 npm
$ npm install dayjs

# 使用 yarn
$ yarn add dayjs

然后,在你的代碼中導(dǎo)入 Day.js:

import dayjs from 'dayjs';

或者:

const dayjs = require('dayjs');

使用 dayjs() 函數(shù)創(chuàng)建一個(gè) Day.js 實(shí)例,然后就可以通過(guò)該實(shí)例來(lái)對(duì)日期進(jìn)行各種操作。

const now = dayjs();  // 創(chuàng)建一個(gè) Day.js 實(shí)例,表示當(dāng)前時(shí)間
console.log(now.format('YYYY-MM-DD'));  // 輸出當(dāng)前日期,格式為"YYYY-MM-DD"

Day.js 提供了很多方便的 API 來(lái)操作日期,比如加減天數(shù)、小時(shí)、分鐘等等。

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 還支持同時(shí)對(duì)多個(gè)日期進(jìn)行操作,比如計(jì)算兩個(gè)日期之間的天數(shù)差:

const start = dayjs('2022-01-01');
const end = dayjs('2022-01-10');
console.log(end.diff(start, 'day'));  // 輸出10,表示兩個(gè)日期之間的天數(shù)差

解析日期:

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

格式化日期:

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

獲取當(dāng)前日期:

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');

獲取日期的某個(gè)部分:

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

設(shè)置日期的某個(gè)部分:

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() 方法來(lái)格式化日期。它使用類(lèi)似于 Moment.js 的字符串模板來(lái)定義日期的輸出格式。

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

  • - YYYY:4 位數(shù)的年份,如 2022
  • - MMMM:月份的全名,如 January
  • - MMM:月份的縮寫(xiě),如 Jan
  • - DD:2 位數(shù)的日期,如 01
  • - dddd:星期的全名,如 Sunday
  • - ddd:星期的縮寫(xiě),如 Sun
  • - HH:24 小時(shí)制的小時(shí)數(shù),如 08
  • - hh:12 小時(shí)制的小時(shí)數(shù),如 08
  • - mm:分鐘數(shù),如 01
  • - ss:秒數(shù),如 01
console.log(now.format('YYYY-MM-DD'));  // 輸出當(dāng)前日期,格式為"YYYY-MM-DD"
console.log(now.format('YYYY-MM-DD HH:mm:ss'));  // 輸出當(dāng)前日期和時(shí)間,格式為"YYYY-MM-DD HH:mm:ss"
console.log(now.format('YYYY年M月D日 dddd'));  // 輸出當(dāng)前日期,格式為"YYYY年M月D日 dddd"
// 格式化為相對(duì)時(shí)間(如:幾秒前、幾分鐘前)
dayjs.duration(60, 'seconds').humanize(); // "a minute"

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

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

Day.js 還支持自定義格式化函數(shù),你可以傳入一個(gè)回調(diào)函數(shù)來(lái)定義自己的日期格式。

const customFormat = dayjs('2022-01-01').format(function () {
  return 'Happy New Year!';
});
console.log(customFormat);  // 輸出"Happy New Year!"
// 轉(zhuǎn)換為 Unix 時(shí)間戳
dayjs().unix();

// 轉(zhuǎn)換為 JavaScript Date 對(duì)象
dayjs().toDate();

// 轉(zhuǎn)換為 ISO 8601 格式的字符串
dayjs().toISOString();

日期解析

Day.js 支持解析各種常見(jiàn)的日期格式,包括 ISO 8601 格式和各種本地格式。

const date = dayjs('2022-01-01');
console.log(date.format('YYYY-MM-DD'));  // 輸出"2022-01-01"
// 轉(zhuǎn)換為 Unix 時(shí)間戳
dayjs().unix();

// 轉(zhuǎn)換為 JavaScript Date 對(duì)象
dayjs().toDate();

// 轉(zhuǎn)換為 ISO 8601 格式的字符串
dayjs().toISOString();

Day.js 還支持解析 Unix 時(shí)間戳。

const unixTimestamp = 1640995200;  // Unix 時(shí)間戳
const date = dayjs.unix(unixTimestamp);
console.log(date.format('YYYY-MM-DD'));  // 輸出"2022-01-01"

國(guó)際化支持

Day.js 內(nèi)置了 66 種語(yǔ)言的國(guó)際化支持,你可以方便地在你的應(yīng)用中切換不同的語(yǔ)言。下面是一些常用的國(guó)際化示例:

import dayjs from 'dayjs';
import 'dayjs/locale/zh-cn'; // 導(dǎo)入中文語(yǔ)言包

// 設(shè)置語(yǔ)言為中文
dayjs.locale('zh-cn');

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

日期比較

Day.js 提供了一些方法來(lái)比較日期的大小。

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 提供了一些方法來(lái)格式化日期。你可以將日期格式化為本地格式、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

時(shí)間格式的轉(zhuǎn)換

Day.js 提供了一些方法來(lái)轉(zhuǎn)換不同的事件格式,比如將日期轉(zhuǎn)換為 Unix 時(shí)間戳、將日期轉(zhuǎn)換為 JavaScript Date 對(duì)象等等。

將日期轉(zhuǎn)換為 Unix 時(shí)間戳:

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

將日期轉(zhuǎn)換為 JavaScript Date 對(duì)象:

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

將日期轉(zhuǎn)換為 Moment.js 對(duì)象:

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

事件操作

Day.js 提供了一些方法來(lái)操作日期,比如加減天數(shù)、小時(shí)、分鐘等等。

加減天數(shù):

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

比較兩個(gè)日期的差異:

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

總結(jié):

Day.js 是一個(gè)輕量級(jí),易于使用的 JavaScript 日期庫(kù),提供了強(qiáng)大的日期和時(shí)間處理功能。它具有簡(jiǎn)潔的 API,支持鏈?zhǔn)讲僮骱筒豢勺冃?。Day.js 支持國(guó)際化顯示和各種格式的日期和時(shí)間的解析和格式化。它還提供了豐富的插件系統(tǒng),可以輕松擴(kuò)展功能。無(wú)論是在 Web 還是 Node.js 環(huán)境下,Day.js 都是一個(gè)不錯(cuò)的選擇。

到此這篇關(guān)于Day.js常用方法集合的文章就介紹到這了,更多相關(guān)Day.js常用方法集合內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • DWR中各種java方法的調(diào)用

    DWR中各種java方法的調(diào)用

    DWR是一個(gè)框架,簡(jiǎn)單的說(shuō)就是能夠在javascript直接調(diào)用java方法,而不必去寫(xiě)一大堆的javascript代碼。它的實(shí)現(xiàn)是基于ajax的,可以實(shí)現(xiàn)無(wú)刷新效果。不少DWR的例子,但大都只是某種方法的調(diào)用只在使用層面上介紹DWR,并不涉更多的技術(shù)與設(shè)計(jì)javascript中是如何調(diào)用的。
    2016-05-05
  • VS?Code中搭建JavaScript運(yùn)行環(huán)境超詳細(xì)過(guò)程

    VS?Code中搭建JavaScript運(yùn)行環(huán)境超詳細(xì)過(guò)程

    這篇文章主要介紹了JavaScript從瀏覽器到服務(wù)端的演變,以及如何在VSCode中安裝和配置Node.js和相關(guān)插件來(lái)運(yùn)行JavaScript代碼,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2025-04-04
  • 詳解JavaScript如何避免內(nèi)存泄漏

    詳解JavaScript如何避免內(nèi)存泄漏

    這篇文章主要為大家詳細(xì)介紹了JavaScript內(nèi)存泄漏的編程模式,并提供一些內(nèi)存管理的改進(jìn)方法,文中的示例代碼講解詳細(xì),有需要的小伙伴可以參考一下
    2023-10-10
  • js 右鍵菜單,支持不同對(duì)象不同菜單(兼容IE、Firefox)

    js 右鍵菜單,支持不同對(duì)象不同菜單(兼容IE、Firefox)

    版本雖然很老也不符合標(biāo)準(zhǔn)了,不過(guò)代碼是值得參考的,需要右鍵菜單的朋友可以參考下。
    2010-01-01
  • JavaScript 繼承詳解及示例代碼

    JavaScript 繼承詳解及示例代碼

    本文主要介紹JavaScript 繼承的知識(shí),這里整理了詳細(xì)的資料及簡(jiǎn)單示例代碼,幫助大家學(xué)習(xí)參考,有興趣的小伙伴可以參考下
    2016-09-09
  • 抖音小程序一鍵獲取手機(jī)號(hào)的實(shí)現(xiàn)思路

    抖音小程序一鍵獲取手機(jī)號(hào)的實(shí)現(xiàn)思路

    前端通過(guò)code獲取sessionkey,再用sessionkey解密手機(jī)號(hào)加密信息,PHP后端實(shí)現(xiàn)這一過(guò)程,本文通過(guò)實(shí)例代碼給大家介紹抖音小程序一鍵獲取手機(jī)號(hào)功能,感興趣的朋友一起看看吧
    2025-01-01
  • 微信小程序?qū)崿F(xiàn)五星評(píng)價(jià)功能

    微信小程序?qū)崿F(xiàn)五星評(píng)價(jià)功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)五星評(píng)價(jià)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 微信小程序?qū)崿F(xiàn)分頁(yè)功能

    微信小程序?qū)崿F(xiàn)分頁(yè)功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)分頁(yè)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • JavaScript中11種常用的hook鉤子技術(shù)及示例代碼

    JavaScript中11種常用的hook鉤子技術(shù)及示例代碼

    我們前端的JavaScript中,經(jīng)常提到鉤子,Hook技術(shù)又叫鉤子技術(shù),指在程序運(yùn)行過(guò)程中,對(duì)其中某個(gè)方法進(jìn)行重寫(xiě),在原先某個(gè)方法前后加入我們自定義的代碼,我們的鉤子,鉤子機(jī)制,鉤子函數(shù),hook,都是同一個(gè)概念,本文講述了11種常用的hook技術(shù)及示例代碼
    2024-12-12
  • 用javascript實(shí)現(xiàn)的漢字簡(jiǎn)繁轉(zhuǎn)換

    用javascript實(shí)現(xiàn)的漢字簡(jiǎn)繁轉(zhuǎn)換

    用javascript實(shí)現(xiàn)的漢字簡(jiǎn)繁轉(zhuǎn)換...
    2007-06-06

最新評(píng)論