顯示絕對日期,而不是「2 週前」、「1 年前」等相對日期。可自訂日期和時間格式。
< 腳本以絕對日期顯示 YouTube 的影片上傳日期 (yyyy-mm-dd 或其他自訂格式)的回應
不时有人问这类问题,有这时间问不知道什么时候回复甚至不知道会不会回复的人,去找个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);
}
說明:
加入時間選項:
hour: '2-digit'
:顯示兩位數的小時。minute: '2-digit'
:顯示兩位數的分鐘。second: '2-digit'
:顯示兩位數的秒數。hour12: false
:設定為 false
使用 24 小時制。如果不設定或設為 true
,則會使用 12 小時制,並可能需要調整語言設定以顯示上午/下午。合併日期和時間字串:
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
一次完成。希望這個解答對您有幫助!
謝謝您
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址
請問如果想要加上當日時間時分秒,要如何修改呢