Javascript 无法正确分析ISO-8601日期
我试图解析从amazons Lex chatbot API返回给我的日期。一些示例返回格式是(来自API文档) 我的具体案例是“2017-W47-WE” 我试过用几种方法解析它,但没有成功 香草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
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()