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

JavaScript時(shí)間戳與時(shí)間相互轉(zhuǎn)換的常用方法

 更新時(shí)間:2025年04月23日 09:44:20   作者:風(fēng)格654  
這篇文章主要介紹了JavaScript時(shí)間戳與時(shí)間相互轉(zhuǎn)換的常用方法,包括獲取當(dāng)前時(shí)間戳、時(shí)間戳轉(zhuǎn)時(shí)間對(duì)象、時(shí)間戳轉(zhuǎn)格式化字符串、時(shí)間字符串轉(zhuǎn)時(shí)間戳等,還討論了常見(jiàn)應(yīng)用場(chǎng)景如計(jì)算時(shí)間差、倒計(jì)時(shí)和UTC與本地時(shí)間互轉(zhuǎn),需要的朋友可以參考下

前言

在 JavaScript 中,時(shí)間戳(Timestamp)通常指 Unix 時(shí)間戳,即從 1970年1月1日 00:00:00 UTC 到某個(gè)時(shí)間點(diǎn)經(jīng)過(guò)的 毫秒數(shù)(注意:其他語(yǔ)言如 Python 可能使用秒,但 JavaScript 默認(rèn)用毫秒)。以下是時(shí)間戳與時(shí)間格式相互轉(zhuǎn)換的常用方法:

1. 獲取當(dāng)前時(shí)間戳

// 方法1:Date.now()
const timestamp1 = Date.now();

// 方法2:new Date().getTime()
const timestamp2 = new Date().getTime();

// 方法3:+new Date()
const timestamp3 = +new Date();

2. 時(shí)間戳 → 時(shí)間對(duì)象

用時(shí)間戳生成 Date 對(duì)象后,可提取具體時(shí)間信息:

const timestamp = 1696147200000; // 示例時(shí)間戳(2023-10-01 00:00:00 UTC)
const date = new Date(timestamp);

// 提取時(shí)間信息(本地時(shí)區(qū))
const year = date.getFullYear();     // 2023
const month = date.getMonth() + 1;   // 10(注意月份從0開(kāi)始,需+1)
const day = date.getDate();          // 1
const hours = date.getHours();       // 8(假設(shè)時(shí)區(qū)為UTC+8)
const minutes = date.getMinutes();   // 0
const seconds = date.getSeconds();   // 0

// 提取UTC時(shí)間信息
const utcHours = date.getUTCHours(); // 0(UTC時(shí)間)

3. 時(shí)間戳 → 格式化字符串

將 Date 對(duì)象格式化為易讀的字符串:

// 方法1:使用內(nèi)置方法(本地時(shí)區(qū))
const localDateStr = date.toLocaleDateString(); // "2023/10/1"
const localTimeStr = date.toLocaleTimeString(); // "08:00:00"
const localStr = date.toLocaleString();        // "2023/10/1 08:00:00"

// 方法2:手動(dòng)拼接(靈活定制)
const formattedTime = `${year}-${month.toString().padStart(2, '0')}-${day.toString().padStart(2, '0')} ${hours}:${minutes}:${seconds}`;
// "2023-10-01 08:00:00"

// 方法3:轉(zhuǎn)成ISO標(biāo)準(zhǔn)格式(UTC時(shí)間)
const isoString = date.toISOString(); // "2023-10-01T00:00:00.000Z"

4. 時(shí)間字符串 → 時(shí)間戳

將日期字符串解析為時(shí)間戳:

// 方法1:Date.parse()(需符合標(biāo)準(zhǔn)格式)
const timestamp4 = Date.parse('2023-10-01T00:00:00Z'); // 1696147200000(UTC時(shí)間)

// 方法2:new Date().getTime()
const dateStr = '2023-10-01 08:00:00'; // 假設(shè)本地時(shí)區(qū)為UTC+8
const timestamp5 = new Date(dateStr).getTime(); // 1696147200000(需注意時(shí)區(qū)問(wèn)題)

// 注意:非標(biāo)準(zhǔn)格式可能導(dǎo)致解析失敗,建議使用ISO格式(YYYY-MM-DDTHH:mm:ssZ)

5. 常見(jiàn)場(chǎng)景示例

場(chǎng)景1:計(jì)算時(shí)間差

const start = Date.now();
// ...執(zhí)行某些操作
const end = Date.now();
const duration = end - start; // 毫秒數(shù)

場(chǎng)景2:倒計(jì)時(shí)功能

function formatCountdown(timestamp) {
  const now = Date.now();
  const diff = timestamp - now;
  const days = Math.floor(diff / (1000 * 60 * 60 * 24));
  const hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
  return `${days}天 ${hours}小時(shí)`;
}

場(chǎng)景3:UTC與本地時(shí)間互轉(zhuǎn)

// UTC時(shí)間 → 本地時(shí)間
const utcDate = new Date('2023-10-01T00:00:00Z');
const localHours = utcDate.getHours(); // 本地時(shí)區(qū)的小時(shí)數(shù)(如UTC+8得到8)

// 本地時(shí)間 → UTC時(shí)間戳
const localDate = new Date(2023, 9, 1, 8, 0, 0); // 2023-10-01 08:00:00(本地時(shí)間)
const utcTimestamp = Date.UTC(2023, 9, 1, 0, 0, 0); // 1696147200000

注意事項(xiàng)

  • 時(shí)區(qū)問(wèn)題

    • new Date() 和 Date.parse() 默認(rèn)使用本地時(shí)區(qū),而 toISOString() 和 Date.UTC() 使用 UTC 時(shí)區(qū)。

    • 跨時(shí)區(qū)應(yīng)用建議統(tǒng)一使用 UTC 時(shí)間。

  • 時(shí)間戳單位

    • JavaScript 使用 毫秒,與其他語(yǔ)言(如 Python 的秒)轉(zhuǎn)換時(shí)需注意單位換算:

      const seconds = Math.floor(timestamp / 1000); // 毫秒轉(zhuǎn)秒
      const milliseconds = seconds * 1000;          // 秒轉(zhuǎn)毫秒
  • 瀏覽器兼容性

    • 避免使用非標(biāo)準(zhǔn)日期格式(如 '2023-10-01' 不帶時(shí)間部分),不同瀏覽器解析結(jié)果可能不一致。

總結(jié) 

到此這篇關(guān)于JavaScript時(shí)間戳與時(shí)間相互轉(zhuǎn)換常用方法的文章就介紹到這了,更多相關(guān)JS時(shí)間戳與時(shí)間相互轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • javascript判斷數(shù)組內(nèi)是否重復(fù)的方法

    javascript判斷數(shù)組內(nèi)是否重復(fù)的方法

    這篇文章主要介紹了javascript判斷數(shù)組內(nèi)是否重復(fù)的方法,涉及javascript針對(duì)數(shù)組的相關(guān)操作技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • 在光標(biāo)處插入字符串的實(shí)現(xiàn)代碼 兼容IE,Firefox

    在光標(biāo)處插入字符串的實(shí)現(xiàn)代碼 兼容IE,Firefox

    在光標(biāo)處插入字符串,一般用于網(wǎng)頁(yè)編輯器中,這里用的是text,需要的朋友可以參考下。
    2010-03-03
  • js實(shí)現(xiàn)限定范圍拖拽的示例

    js實(shí)現(xiàn)限定范圍拖拽的示例

    這篇文章主要介紹了js實(shí)現(xiàn)限定范圍拖拽的示例,幫助大家更好的制作js特效,美化自己的網(wǎng)頁(yè),感興趣的朋友可以了解下
    2020-10-10
  • 如何在微信小程序里面退出小程序的方法

    如何在微信小程序里面退出小程序的方法

    這篇文章主要介紹了如何在微信小程序里面退出小程序的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • js date 格式化

    js date 格式化

    本文將以yyyy-MM-dd HH:mm:ss為例介紹js date 格式化的相關(guān)知識(shí)。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • 關(guān)于uniapp的request封裝保姆級(jí)教程

    關(guān)于uniapp的request封裝保姆級(jí)教程

    這篇文章主要給大家介紹了關(guān)于uniapp的request封裝保姆級(jí)教程,request是基于uni-app框架封裝的一個(gè)網(wǎng)絡(luò)請(qǐng)求庫(kù),可以用于發(fā)送http請(qǐng)求和處理響應(yīng)數(shù)據(jù),需要的朋友可以參考下
    2023-07-07
  • JavaScript優(yōu)雅處理對(duì)象的6種方法

    JavaScript優(yōu)雅處理對(duì)象的6種方法

    大家好,本篇文章主要講的是JavaScript優(yōu)雅處理對(duì)象的6種方法,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下哦,方便下次瀏覽
    2021-12-12
  • javaScript中的空值和假值

    javaScript中的空值和假值

    JavaScript 是世界上最流行的編程語(yǔ)言。javaScript中有五種空值和假值,分別為false,null,undefined,“”,0。從廣義上來(lái)說(shuō),這五個(gè)值都是對(duì)應(yīng)數(shù)據(jù)類(lèi)型的無(wú)效值或空值
    2017-12-12
  • JavaScript中各種編碼解碼函數(shù)的區(qū)別和注意事項(xiàng)

    JavaScript中各種編碼解碼函數(shù)的區(qū)別和注意事項(xiàng)

    JavaScript 中encodeURI,encodeURIComponent與escape的區(qū)別和注
    2010-08-08
  • 淺談高大上的微信小程序中渲染html內(nèi)容—技術(shù)分享

    淺談高大上的微信小程序中渲染html內(nèi)容—技術(shù)分享

    大部分Web應(yīng)用的富文本內(nèi)容都是以HTML字符串的形式存儲(chǔ)的,那么在微信小程序中,應(yīng)當(dāng)如何渲染這部分內(nèi)容呢?感興趣的小伙伴們可以參考一下
    2018-10-10

最新評(píng)論