欣迪
如 2015-2-8 到 2015-3-3

回傳 2015-2-8 2015-2-9 2015-2-10...2015-3-3

See the Pen
前端模擬試題 – 求兩日期中間所有的日期
by Dean (@hcd1983)
on CodePen.0

Date.prototype.getFullYear()

此函數可以取得西元年份。 Date().getYear 已經棄用,兩者不要混淆。

使用 Date.prototype.toLocaleDateString()

這函數可以取得不同語系的日期展現方式,可以帶語系和選項,非常酷的函數。

const event = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
const options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };

console.log(event.toLocaleDateString('de-DE', options));
// expected output (varies according to local timezone): Donnerstag, 20. Dezember 2012

console.log(event.toLocaleDateString('zh-TW', options));
// expected output (varies according to local timezone): 2012年12月20日 星期四

console.log(event.toLocaleDateString(undefined, options));
// expected output (varies according to local timezone and default locale): Thursday, December 20, 2012

console.log(event.toLocaleDateString('zh-TW'));
// expected output (varies according to local timezone): 2012/12/20

像是這題最後的日期格式是 ‘yyyy-mm-dd’,跟 ‘zh-TW’ 的 LocaleDateString 很接近,可以把 “/” 取代成 “-” 就完成日期的格式設定。

new Date('2021/12/17').toLocaleDateString('zh-TW').replace(/\//g, '-')
// 2021-12-17

訂閱 IT-Monk

訂閱最新文章的發布消息! 😚😚😚
Loading

作者介紹 - 欣迪

欣迪

從設計到寫程式,發現自己有追求前端技巧的自虐傾向。不斷的踩坑,再從坑裡爬出來,慢慢對攀岩有點心得。 目前在多間公司擔任網站設計顧問。 同時也是網站架設公司負責人。