Date toLocaleString的一次踩坑
Date對象的toLocaleString方法其實有很多option可以控制的,基本上能夠滿足format的需求。但是在不同瀏覽器上可能會表現不一致。
日常生活中,我們的12小時制,整點的范圍都是0~11,11:59會跳到00:00;24小時制,整點的范圍是0~23,23:59會跳到00:00,對應過來就是所謂的 h11 和 h23 。而 h12 和 h24 中,0點時采用12點和24點表示。
// 24小時制
new Date(1682352000000).toLocaleString('zh-CN', { dateStyle: 'short', timeStyle: 'short', hour12: false })
// 12小時制
new Date(1682352000000).toLocaleString('zh-CN', { dateStyle: 'short', timeStyle: 'short', hour12: true })
// 12小時制,00:00~11:59
new Date(1682352000000).toLocaleString('zh-CN', { dateStyle: 'short', timeStyle: 'short', hourCycle: 'h11' })
// 12小時制,12:00~12:59~01:00~11:59
new Date(1682352000000).toLocaleString('zh-CN', { dateStyle: 'short', timeStyle: 'short', hourCycle: 'h12' })
// 24小時制,00:00~11:59
new Date(1682352000000).toLocaleString('zh-CN', { dateStyle: 'short', timeStyle: 'short', hourCycle: 'h23' })
// 24小時制,24:00~24:59~01:00~23:59
new Date(1682352000000).toLocaleString('zh-CN', { dateStyle: 'short', timeStyle: 'short', hourCycle: 'h24' })
坑點:
但是360瀏覽器在缺省值的情況下,卻默認采用的是 h12 ,其次是h24,而不是我們常用的 h11 和 h23 。
以下是測試:
chrome版本112

360極速瀏覽器版本21,內核版本95



浙公網安備 33010602011771號