以絕對日期顯示 YouTube 的影片上傳日期 (yyyy-mm-dd 或其他自訂格式)

顯示絕對日期,而不是「2 週前」、「1 年前」等相對日期。可自訂日期和時間格式。

< 腳本以絕對日期顯示 YouTube 的影片上傳日期 (yyyy-mm-dd 或其他自訂格式)的回應

評論:正評 - 腳本一切正常

§
發表於:2025-09-06

請問如果想要加上當日時間時分秒,要如何修改呢

InMirrors作者
§
發表於:2025-09-06

不时有人问这类问题,有这时间问不知道什么时候回复甚至不知道会不会回复的人,去找个AI问不行吗?别说问AI都不会。以下为示例,以后再出现这种问题我不会再回复。


請問如果想要加上當日時間時分秒,要如何修改呢

    function isoToDate(iso) {
        let date = new Date(iso);
        let options = { year: 'numeric', month: '2-digit', day: '2-digit'};
        let lang = 'zh-CN';
        return date.toLocaleDateString(lang, options).replaceAll('/', '-');
    }

好的,要加上當日的時間(時、分、秒),你需要修改 options 參數,並加入時間相關的選項。以下是修改後的程式碼:

function isoToDate(iso) {
    let date = new Date(iso);
    let options = {
        year: 'numeric',
        month: '2-digit',
        day: '2-digit',
        hour: '2-digit',
        minute: '2-digit',
        second: '2-digit',
        hour12: false // 使用 24 小時制
    };
    let lang = 'zh-CN';
    return date.toLocaleDateString(lang, options).replaceAll('/', '-') + ' ' + date.toLocaleTimeString(lang, options);
}

說明:

  1. 加入時間選項:

    • hour: '2-digit':顯示兩位數的小時。
    • minute: '2-digit':顯示兩位數的分鐘。
    • second: '2-digit':顯示兩位數的秒數。
    • hour12: false:設定為 false 使用 24 小時制。如果不設定或設為 true,則會使用 12 小時制,並可能需要調整語言設定以顯示上午/下午。
  2. 合併日期和時間字串:

    • 因為 toLocaleDateString 只會顯示日期,所以我們使用 toLocaleTimeString 來取得時間字串。
    • 然後,我們將日期字串(date.toLocaleDateString(lang, options).replaceAll('/', '-'))和時間字串(date.toLocaleTimeString(lang, options))用空格連接起來。

範例:

如果你的 iso 值是 "2023-10-27T10:30:45.000Z",那麼這個函數會返回 "2023-10-27 10:30:45"

更簡潔的寫法 (使用 toLocaleString 一次完成):

你也可以使用 toLocaleString 一次完成,這樣可以避免分開處理日期和時間,程式碼會更簡潔:

function isoToDate(iso) {
    let date = new Date(iso);
    let options = {
        year: 'numeric',
        month: '2-digit',
        day: '2-digit',
        hour: '2-digit',
        minute: '2-digit',
        second: '2-digit',
        hour12: false
    };
    let lang = 'zh-CN';
    let dateString = date.toLocaleString(lang, options).replaceAll('/', '-');

    // 替換掉年月日和時分秒之間的逗號
    return dateString.replace(', ', ' ');
}

這個版本直接使用 toLocaleString 取得包含日期和時間的字串,然後再替換掉日期和時間之間的分隔符號(逗號加空格)為單純的空格。

選擇哪一個方法:

  • 如果你的目標是最大的可讀性和可維護性,建議使用第二個簡潔的版本,用 toLocaleString 一次完成。
  • 如果需要對日期和時間的格式進行更精細的控制,則可以使用第一個版本,分別格式化日期和時間。

希望這個解答對您有幫助!

§
發表於:2025-09-06

謝謝您

發表回覆

登入以回覆

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址