假设说 2013 年和 38 年(38 = 一年中的第 38 周),我想得到 2013-09-16。有 Javascript 或 jQuery 函数吗?
注意:一年中的一周基于 ISO 工作日日历。即给定2014和1,我需要得到2013-12-30
假设说 2013 年和 38 年(38 = 一年中的第 38 周),我想得到 2013-09-16。有 Javascript 或 jQuery 函数吗?
注意:一年中的一周基于 ISO 工作日日历。即给定2014和1,我需要得到2013-12-30
使用此处的答案Get friday from week number and year in javascript你会得到你的例外答案
var w2date = function(year, wn){
var Day10 = new Date( year,0,10,12,0,0),
Day4 = new Date( year,0,4,12,0,0),
weekmSec = Day4.getTime() - Day10.getDay() * 86400000; // 7 days in milli sec
return new Date(weekmSec + ((wn - 1) * 7 ) * 86400000);
};
w2date(year, week);
计算给定周数 ( ) 的总毫秒数weekmSec + ((wn - 1) * 7 ) * 86400000
,然后将其传递给 Date 对象将为您提供预期的答案
使用像momentjs这样的库
var year = 2013, weeks = 38;
var m = moment("01-01-" + year, "DD-MM-YYYY");
m.add('weeks', weeks - 1)
console.log(m.toDate())
演示:小提琴
使用js
var year = 2013, weeks = 38;
var d = new Date(year, 0, 1);
d.setDate((weeks - 1) * 7)
演示:小提琴
试试这段代码:
var d = new Date("January 1, 2013 00:00:00");
d.setDate(259);
alert(d);
259 代表 37 周 * 7。
希望这可以帮助