用 JavaScript 获取一周的第一天
我目前正在为 Atuin 构建一个日历数据展示功能,希望确保一周从正确的日期开始。
虽然我很喜欢可配置、灵活的设计,但除非确有必要,我不想引入新的配置项!
幸运的是,浏览器的本地化(localisation)机制提供了很多可用的选项。
获取 Locale 对象
首先我们需要一个 Locale!它的创建方式如下:
new Intl.Locale('CODE')
// eg
new Intl.Locale('en-GB')我们可以这样获取语言代码:
new Intl.Locale(navigator.language)这是由用户在浏览器中设置的。
获取 weekinfo
拿到 Locale 之后,一切就很简单了:
let locale = new Intl.Locale(navigator.language);
let weekinfo = locale.getWeekInfo();
console.log(weekinfo.firstDay); // prints 1 for me, in the UK文档见这里:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/getWeekInfo
随机一篇博客