javascript - 本季度的第几周,使用 javascript

标签 javascript

我正在尝试想出一种方法来查找季度中的第几周,并偏移两周。我们在季度的第三个星期六(2011 年 10 月 15 日、2012 年 1 月 21 日等)发布季度软件版本。有办法获取这些信息吗?

例如,本周将是该季度的第 13 周。

最佳答案

function getQuarterWeek(d) {
    // Convert to UTC to avoid DST changes.
    d = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDay()));
    // For previous Saturday you would normally add one here.
    // But we want to go back two weeks, so subtract 14.
    d.setUTCDate(d.getUTCDate() - 13);
    d.setUTCDate(d.getUTCDate() - d.getUTCDay() - 1);
    // Save the timestamp of this Saturday.
    var s = d.getTime();
    // Now get the first day of the quarter.
    d.setUTCDate(1);
    d.setUTCMonth(d.getUTCMonth() - d.getUTCMonth() % 3);
    // And find the following Saturday.
    d.setUTCDate(7 - d.getUTCDay());
    // Convert the time difference to weeks.
    return (d.getTime() - s) / 604800000 + 1;
}

关于javascript - 本季度的第几周,使用 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7773027/

相关文章:

javascript - 跟踪样板 webapp 代码

javascript - Node.js:识别脚本是异步的还是非阻塞的

javascript - 对齐 jQuery Mobile 导航栏左右 Angular 的图标

javascript - Contenteditable--编辑时改变背景颜色

javascript - JavaScript 中的 Sigmoid 和大数

javascript - 更新 SAPUI5/OpenUI5 中的 JSON 模型

javascript - 如何在 ng-2 Material <md-input> 字段中 trim 输入开头的空格

javascript - 在 Chrome 扩展程序中的何处存储静态 JSON 数据?

javascript - JavaScript 中的函数作为类

javascript - Vue JS 在使用 v-for 渲染的单个项目上切换类