Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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 无法正确分析ISO-8601日期_Javascript_Date_Momentjs - Fatal编程技术网

Javascript 无法正确分析ISO-8601日期

Javascript 无法正确分析ISO-8601日期,javascript,date,momentjs,Javascript,Date,Momentjs,我试图解析从amazons Lex chatbot API返回给我的日期。一些示例返回格式是(来自API文档) 我的具体案例是“2017-W47-WE” 我试过用几种方法解析它,但没有成功 香草 var newDate = new Date(date) // Invalid date MomentJS moment(date) moment(date, moment.ISO_8601).format('YYYY/MM/DD') moment(date).format('YYYY-MM-DD

我试图解析从amazons Lex chatbot API返回给我的日期。一些示例返回格式是(来自API文档)

我的具体案例是“2017-W47-WE”

我试过用几种方法解析它,但没有成功

香草

var newDate = new Date(date)   // Invalid date
MomentJS

moment(date)
moment(date, moment.ISO_8601).format('YYYY/MM/DD')
moment(date).format('YYYY-MM-DD')

这些都不管用,有人知道如何正确设置日期格式吗?谢谢

我们的
部分有点奇怪。即使你能正确地解析它,我也不知道应该返回什么。因为周末包括两天(周六和周日),所以它应该是一组力矩对象吗

不管怎样,你可以像这样轮流过周末

var SAT_OF_WEEK_47 = moment("2017-W47-WE".replace("WE","6"), "YYYY-[W]WW-E").format()
var SUN_OF_WEEK_47 = moment("2017-W47-WE".replace("WE","7"), "YYYY-[W]WW-E").format()

我明确声明了格式,并使用
E
1..7
作为ISO工作日。让我知道这是否是您想要实现的目标。

我不相信
我们
是其中的一部分,尽管亚马逊认为它是!你可能必须检测到这一点,并对其进行稍微不同的处理我们是什么意思?周三?@Zanko根据亚马逊的说法,这意味着周末,十年来你可能在
201X
上也会遇到类似的问题。大概你想解析它,而不是格式化它。它应该返回什么值?一个日期代表一个毫秒精度的时间瞬间,它不能代表一个周末,这需要一个日期范围或日期加上持续时间。此外,不同的文化在不同的日子有“周末”,所以在没有标准的情况下,“周末”是什么?@Zanko这看起来是一个很酷的解决方案,它确实似乎只是“我们”这是特定于Lex的,所以在个案基础上这样做似乎是最好的解决方案。我会让你知道它是如何进行的,一旦我尝试了这个,我会将它标记为已接受。谢谢
var SAT_OF_WEEK_47 = moment("2017-W47-WE".replace("WE","6"), "YYYY-[W]WW-E").format()
var SUN_OF_WEEK_47 = moment("2017-W47-WE".replace("WE","7"), "YYYY-[W]WW-E").format()