Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Moment.JS-从周数获取日期_Javascript_Angular_Typescript_Momentjs - Fatal编程技术网

Javascript Moment.JS-从周数获取日期

Javascript Moment.JS-从周数获取日期,javascript,angular,typescript,momentjs,Javascript,Angular,Typescript,Momentjs,我在moment.js的文档中没有看到这一点。也许我跳过了,但我想把一年中的周数转换成日期格式 比如说 week: number = 13 year: number = 2017 date: date = // get date format for the first day of that week 我使用的是moment.js,但我在中找不到我想要的内容。这可能吗?我已经找到了一些简单javascript的答案,但由于我已经在使用moment.js,我想可能有一种简单的方法可以做到这一

我在moment.js的文档中没有看到这一点。也许我跳过了,但我想把一年中的周数转换成日期格式

比如说

week: number = 13 
year: number = 2017
date: date = // get date format for the first day of that week
我使用的是moment.js,但我在中找不到我想要的内容。这可能吗?我已经找到了一些简单javascript的答案,但由于我已经在使用moment.js,我想可能有一种简单的方法可以做到这一点

是的,有可能:

var date = moment('2017').add(13, 'weeks');
请注意,
moment('2017')
返回2017年1月1日。

另一种方法是使用

使用startOf(“isoweek”),您将获得一周的第一天

moment('2017').add(13, 'weeks').startOf('week').format('DD MM YYYY'); // "02 04 2017"m, gives you Sunday(last day of the week)

moment('2017').add(13, 'weeks').startOf('isoweek').format('DD MM YYYY');
"27 03 2017"// first day of the week ( gives you Monday)
无需添加:
moment().年(2017).周(13)

根据您如何定义一天的周数,只需将日期设置为2017年1月1日,然后添加13*7天。如何将其正确转换为日期格式<代码>时刻('2017')。添加(13,'周')不提供日期类型,并使用
时刻(this.dateSelection.otherYear).add(this.dateSelection.otherMonth,“months”).toDate()
给我这个结果
周一1970年6月1日01:00:02 GMT+0200(浪漫夏令时)
因此年份不正确,月份正确。此方法失败,因为给定年份的开始可以在任何工作日。我与1970年有相同的问题。它还阻塞了我的浏览器(FF)。在这里帮助我的是传递完整的日期,比如:
let date=moment('2019-01-01)。添加(13,'weeks')
moment('2017').add(13, 'weeks').startOf('week').format('DD MM YYYY'); // "02 04 2017"m, gives you Sunday(last day of the week)

moment('2017').add(13, 'weeks').startOf('isoweek').format('DD MM YYYY');
"27 03 2017"// first day of the week ( gives you Monday)