首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

JavaScript 日期格式化:從 "2016-06-06 12:05:35" 到 "20160606120535" 的多種實現

     編輯:程式設計疑難解答

前端開發中頻繁需要將日期對象或字符串轉為緊湊格式(如 yyyyMMddHHmmss)。本文提供三種不同場景的解決方案。

方案一:字符串直接替換(適用於已知格式的字符串)

var s = '2016-06-06 12:05:35';
s = s.replace(/[- :]/g, ''); // "20160606120535"

方案二:Date 對象格式化(適用於動態獲取當前時間)

function addZero(v) { return v < 10 ? '0' + v : v.toString(); }
var d = new Date();
var s = d.getFullYear().toString() +
        addZero(d.getMonth() + 1) +
        addZero(d.getDate()) +
        addZero(d.getHours()) +
        addZero(d.getMinutes()) +
        addZero(d.getSeconds());
console.log(s); // 如 "20240115143025"

方案三:現代 API 推薦(ES6+ / Intl)

// 使用 toISOString 切片(UTC 時間)
new Date().toISOString().replace(/[-:T.Z]/g, '').slice(0, 14);

// 或使用 Intl.DateTimeFormat 組裝(本地時間)
const fmt = new Intl.DateTimeFormat('zh-CN', {
    year: 'numeric', month: '2-digit', day: '2-digit',
    hour: '2-digit', minute: '2-digit', second: '2-digit',
    hour12: false
}).formatToParts(new Date()).reduce((acc, p) => acc + p.value, '');

根據項目兼容性要求選擇:簡單場景用正則替換,生產環境建議封裝統一工具函數。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved