无法正确解析ISO-8601日期

时间:2017-11-24 14:50:45

标签: javascript date momentjs

我正在尝试解析从amazons Lex chatbot API返回给我的日期。一些示例返回格式是(来自API文档https://developer.amazon.com/docs/custom-skills/slot-type-reference.html#date

“next week”: 2015-W49
“this weekend”: 2015-W48-WE
“this month”: 2015-11

我的具体案例是“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')

这些都不起作用,有没有人知道如何正确格式化这个日期?谢谢!

1 个答案:

答案 0 :(得分:1)

-WE部分很奇怪。即使你能正确解析它,我也不知道应该返回什么。由于周末包括两天(周六和周日)所以它应该是一组时刻物体吗?

无论如何,你可以像周末那样去周末

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星期几。如果这是你想要达到的目的,请告诉我。