参考moment中文文档
http://momentjs.cn/docs/#/manipulating/start-of/
moment().startOf('week'); // 设置为本周的第一天上午 12:00
moment().startOf('isoWeek'); // 根据 ISO 8601 设置为本周的第一天上午 12:00
文档写的不对,都是返回的 00:00
这里有个问题点,原始时间,每周第一天为周日,比如上图,6月14号是周日。
我们设置为中文本地时间,再看看
变成了6月15号,是周一。
默认情况每周是周日到周六
设置为中文本地时间后,每周是周一到周日
这个细节问题导致我在服务器端用puppeteer访问Grafana页面时,获取上一周的数据与本地电脑有差异。最终我通过设置
const browser = await puppeteer.launch({
// headless: false,
slowMo: 200,
args: [
"--no-sandbox",
"--disable-setuid-sandbox",
"--lang=zh-CN", // 设置中文
],
});
await page.setExtraHTTPHeaders({
"Accept-Language": "zh-CN" // 设置请求头中接受中文,解决Grafana英文环境每周是周日到周六,中文环境是每周是周一到周日
});
设置浏览器的语言,和请求头接受的语言,来保证服务器上和本地每周的时间是一致的。