我基本上只是想不出这个,不想破解它.
如果我这样做一年52周就会显得那么混乱.
有小费吗?
更新
这个问题与获得当年的本周无关.
这个问题是关于自定义日期以来已过去几周的问题.
我希望下周的训练能够在本周的第6天出现;)
例
我开始的日子是99:2018-05-30 18:39:29.
你的一些例子在第15周向我展示.
然而,我的代码显示了第16周,这是正确的.看到警告?
calculateUsersCurrentWorkoutWeek: function(timestamp) {
let daysSinceSignup = moment().diff(timestamp, "days");
if (daysSinceSignup <= 6) {
return 1;
} else if (daysSinceSignup > 6 && daysSinceSignup <= 13) {
return 2;
} else if (daysSinceSignup > 13 && daysSinceSignup <= 20) {
return 3;
} else if (daysSinceSignup > 20 && daysSinceSignup <= 27) {
return 4;
} else if (daysSinceSignup > 27 && daysSinceSignup <= 34) {
return 5;
} else if (daysSinceSignup > 34 && daysSinceSignup <= 41) {
return 6;
} else if (daysSinceSignup > 41 && daysSinceSignup <= 48) {
return 7;
} else if (daysSinceSignup > 48 && daysSinceSignup <= 55) {
return 8;
} else if (daysSinceSignup > 55 && daysSinceSignup <= 62) {
return 9;
} else if (daysSinceSignup > 55 && daysSinceSignup <= 62) {
return 10;
} else if (daysSinceSignup > 62 && daysSinceSignup <= 69) {
return 11;
} else if (daysSinceSignup > 69 && daysSinceSignup <= 76) {
return 12;
} else if (daysSinceSignup > 76 && daysSinceSignup <= 83) {
return 13;
} else if (daysSinceSignup > 83 && daysSinceSignup <= 90) {
return 14;
} else if (daysSinceSignup > 90 && daysSinceSignup <= 97) {
return 15;
} else {
return 16;
}
}
Run Code Online (Sandbox Code Playgroud)
Mad*_*iha 11
除以7和ceil?
const daysSinceSignup = moment().diff(timestamp, "days");
return Math.ceil(daysSinceSignup / 7);
Run Code Online (Sandbox Code Playgroud)
你今天早上错过了咖啡吗?;-)
注意:上面的函数会告诉您"从那以后的一周中的数字timestamp",这是我从您的文本中理解的,但您的代码示例并未反映出来.
要获得相同的代码示例结果,您需要.floor()添加1而不是.ceil():
const daysSinceSignup = moment().diff(timestamp, "days");
return Math.floor(daysSinceSignup / 7) + 1;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
174 次 |
| 最近记录: |