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

Node.js實(shí)現(xiàn)格式化時(shí)間的兩種方法詳解

 更新時(shí)間:2025年03月21日 16:27:20   作者:還是鼠鼠  
在 Node.js 開發(fā)中,格式化時(shí)間是一個(gè)常見的需求,本文將介紹兩種格式化時(shí)間的方式,即使用 JavaScript 內(nèi)置方法 和 使用 npm 包 moment,需要的可以了解下

在 Node.js 開發(fā)中,格式化時(shí)間是一個(gè)常見的需求。例如,將時(shí)間格式化為 YYYY-MM-DD HH:mm:ss,或轉(zhuǎn)換為不同的時(shí)區(qū)。本文將介紹兩種格式化時(shí)間的方式:使用 JavaScript 內(nèi)置方法 和 使用 npm 包 moment,并提供完整的代碼示例,幫助開發(fā)者更詳細(xì)地學(xué)習(xí)和使用。

1. 使用 JavaScript 內(nèi)置方法格式化時(shí)間

Node.js 提供了 Date 對(duì)象,可以使用 toISOString()、getFullYear() 等方法格式化時(shí)間。

示例:使用 Date 對(duì)象格式化時(shí)間

文件名:format_date_native.js(JavaScript)

// format_date_native.js
 
function formatDate(date) {
    const year = date.getFullYear();
    const month = String(date.getMonth() + 1).padStart(2, "0");
    const day = String(date.getDate()).padStart(2, "0");
    const hours = String(date.getHours()).padStart(2, "0");
    const minutes = String(date.getMinutes()).padStart(2, "0");
    const seconds = String(date.getSeconds()).padStart(2, "0");
 
    return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
}
 
// 獲取當(dāng)前時(shí)間并格式化
const now = new Date();
console.log("當(dāng)前時(shí)間:", formatDate(now));

運(yùn)行程序

node format_date_native.js

示例輸出

當(dāng)前時(shí)間: 2025-03-19 14:30:45

(具體時(shí)間根據(jù)運(yùn)行時(shí)的系統(tǒng)時(shí)間而定)

原理解析

getFullYear() 獲取四位年份

  • getMonth() 獲取月份,返回值是 0-11,所以需 +1
  • getDate() 獲取日期
  • getHours()、getMinutes()、getSeconds() 獲取時(shí)間部分
  • padStart(2, "0") 用于補(bǔ)零,確保兩位數(shù)格式

2. 使用 npm 包 moment 進(jìn)行時(shí)間格式化

雖然 Date 對(duì)象可以手動(dòng)格式化時(shí)間,但 moment.js 提供了更簡(jiǎn)潔的方式。

安裝 moment

npm install moment

示例:使用 moment 格式化時(shí)間

文件名:format_date_moment.js(JavaScript)

// format_date_moment.js
const moment = require("moment");
 
// 獲取當(dāng)前時(shí)間并格式化
const formattedTime = moment().format("YYYY-MM-DD HH:mm:ss");
 
console.log("當(dāng)前時(shí)間:", formattedTime);

運(yùn)行程序

node format_date_moment.js

示例輸出

當(dāng)前時(shí)間: 2025-03-19 14:30:45

原理解析

moment() 獲取當(dāng)前時(shí)間

.format("YYYY-MM-DD HH:mm:ss") 直接轉(zhuǎn)換為指定格式

3. 兩種方法的對(duì)比

方式優(yōu)勢(shì)劣勢(shì)
原生 Date無需額外安裝,輕量級(jí)代碼較繁瑣,需手動(dòng)格式化
moment.js語法簡(jiǎn)潔,支持時(shí)區(qū)、國(guó)際化需要安裝額外 npm 包

4. 結(jié)論

  • 如果只是簡(jiǎn)單格式化時(shí)間,使用 Date 對(duì)象 也能實(shí)現(xiàn)。
  • 如果需要 更強(qiáng)大的日期操作(如時(shí)區(qū)轉(zhuǎn)換、本地化格式),建議使用 moment.js。
  • 現(xiàn)代開發(fā)推薦使用 dayjs(更輕量的替代 moment.js),如果對(duì)性能有更高要求可以考慮。

5.知識(shí)擴(kuò)展

1.Node.js使用dayjs組件庫格式化時(shí)間

// 下載 dayjs 組件庫
npm install dayjs --save
 
// 進(jìn)行引用
const dayjs = require('dayjs')
 
// 引用的dayjs實(shí)例是一個(gè)函數(shù)返回的實(shí)例,可以直接使用。
// 獲取到當(dāng)前時(shí)間,格式化(年-月-日 時(shí)-分-秒)
let currDate = dayjs().format('YYYY-MM-DD HH:mm:ss'); 
 
// 初始化其他時(shí)間,格式化(年-月-日 時(shí)-分-秒)
let date = new Date();
let currDate = dayjs(date).format('YYYY-MM-DD HH:mm:ss'); 

2.nodeJS中格式化iso日期

在Node.js中,可以使用內(nèi)置的Date對(duì)象和toISOString()方法來格式化ISO日期。

ISO日期是一種標(biāo)準(zhǔn)的日期和時(shí)間表示格式,它的格式為YYYY-MM-DDTHH:mm:ss.sssZ,其中:

  • YYYY表示四位數(shù)的年份
  • MM表示兩位數(shù)的月份
  • DD表示兩位數(shù)的日期
  • T表示日期和時(shí)間的分隔符
  • HH表示兩位數(shù)的小時(shí)數(shù)(24小時(shí)制)
  • mm表示兩位數(shù)的分鐘數(shù)
  • ss表示兩位數(shù)的秒數(shù)
  • sss表示三位數(shù)的毫秒數(shù)
  • Z表示時(shí)區(qū)偏移量,格式為+HH:mm-HH:mm

以下是在Node.js中格式化ISO日期的示例代碼:

const currentDate = new Date();
const isoDate = currentDate.toISOString();

console.log(isoDate);

輸出結(jié)果類似于:2022-01-01T12:34:56.789Z

在這個(gè)例子中,我們首先創(chuàng)建一個(gè)Date對(duì)象來表示當(dāng)前日期和時(shí)間。然后,使用toISOString()方法將日期對(duì)象轉(zhuǎn)換為ISO格式的字符串。最后,通過console.log()打印輸出ISO日期字符串。

需要注意的是,toISOString()方法返回的日期字符串是基于UTC時(shí)間的。如果需要基于本地時(shí)間進(jìn)行格式化,可以使用其他庫或手動(dòng)處理時(shí)區(qū)偏移量。

到此這篇關(guān)于Node.js實(shí)現(xiàn)格式化時(shí)間的兩種方法詳解的文章就介紹到這了,更多相關(guān)Node.js格式化時(shí)間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • npm全局模塊卸載及默認(rèn)安裝目錄修改方法

    npm全局模塊卸載及默認(rèn)安裝目錄修改方法

    今天小編就為大家分享一篇npm全局模塊卸載及默認(rèn)安裝目錄修改方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Node.js中文件操作模塊File System的詳細(xì)介紹

    Node.js中文件操作模塊File System的詳細(xì)介紹

    FileSystem模塊是類似UNIX(POSIX)標(biāo)準(zhǔn)的文件操作API,用于操作文件系統(tǒng)——讀寫目錄、讀寫文件——Node.js底層使用C程序來實(shí)現(xiàn),這些功能是客戶端JS所不具備的。下面這篇文章就給大家詳細(xì)介紹了Node.js中的文件操作模塊File System,有需要的朋友們可以參考借鑒。
    2017-01-01
  • Node.js+jade抓取博客所有文章生成靜態(tài)html文件的實(shí)例

    Node.js+jade抓取博客所有文章生成靜態(tài)html文件的實(shí)例

    下面小編就為大家?guī)硪黄狽ode.js+jade抓取博客所有文章生成靜態(tài)html文件的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • nodejs使用Sequelize框架操作數(shù)據(jù)庫的實(shí)現(xiàn)

    nodejs使用Sequelize框架操作數(shù)據(jù)庫的實(shí)現(xiàn)

    這篇文章主要介紹了nodejs使用Sequelize框架操作數(shù)據(jù)庫的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • node的process以及child_process模塊學(xué)習(xí)筆記

    node的process以及child_process模塊學(xué)習(xí)筆記

    這篇文章主要介紹了node的process以及child_process模塊學(xué)習(xí)筆記,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • 詳解Nodejs之npm&package.json

    詳解Nodejs之npm&package.json

    本篇文章主要介紹了詳解Nodejs之npm&package.json,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • node.js監(jiān)聽文件變化的實(shí)現(xiàn)方法

    node.js監(jiān)聽文件變化的實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于node.js監(jiān)聽文件變化的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用node.js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Node.js?中使用fetch?按JSON格式發(fā)post請(qǐng)求的問題解析

    Node.js?中使用fetch?按JSON格式發(fā)post請(qǐng)求的問題解析

    最近在測(cè)試一個(gè)api,可以用curl命令直接訪問,指定header相關(guān)配置,request?body(JSON),成功后返回一個(gè)JSON,這篇文章主要介紹了Node.js?中使用fetch?按JSON格式發(fā)post請(qǐng)求,需要的朋友可以參考下
    2023-04-04
  • NodeJs超長(zhǎng)字符串問題處理的詳細(xì)分析

    NodeJs超長(zhǎng)字符串問題處理的詳細(xì)分析

    這篇文章主要給大家介紹了關(guān)于NodeJs超長(zhǎng)字符串問題處理的詳細(xì)分析,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-02-02
  • 深入理解node.js http模塊

    深入理解node.js http模塊

    這篇文章主要介紹了深入理解node.js http模塊,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-01-01

最新評(píng)論