【问题标题】:How to get week number from date input in javascript? [duplicate]如何从javascript中的日期输入中获取周数? [复制]
【发布时间】:2016-07-11 13:33:51
【问题描述】:

我正在尝试获取当前日期/特定日期的周数。任何有关逻辑构建的建议都会有所帮助。

【问题讨论】:

标签: javascript date week-number


【解决方案1】:
function getWeekNumber(thisDate) {
var dt = new Date(thisDate);
var thisDay = dt.getDate();

var newDate = dt;
newDate.setDate(1); // first day of month
var digit = newDate.getDay();

var Q = (thisDay + digit) / 7;

var R = (thisDay + digit) % 7;

if (R !== 0) return Math.ceil(Q);
else return Q;}

getWeekNumber("07/31/2016");

【讨论】:

  • 您不应使用 Date 构造函数(或 Date.parse,它们与解析等效)来解析字符串。使用 Date 方法创建一个字符串然后解析为另一个 Date(例如获取月份的第一天)是没有意义的,直接使用 Date 方法:newDate.setDate(1)
【解决方案2】:
let _ = new Date,
    __ = ~~((new Date(_.getFullYear(), 0, 0) - _) / 36e5 * 24),
    ___ = (__ - __ % 7) / 7;

【讨论】:

  • 需要额外的解释(比如为什么你使用下划线而不是名称)?
猜你喜欢
  • 2013-07-25
  • 1970-01-01
  • 2014-04-21
  • 1970-01-01
  • 2016-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多