Javascript 时刻JS(“必须显示下周的天数”)

Javascript 时刻JS(“必须显示下周的天数”),javascript,node.js,json,typescript,momentjs,Javascript,Node.js,Json,Typescript,Momentjs,我正在做一个气象服务,我需要写一个代码来显示下周的天气预报。从服务器上,我只有一个值为下周一的时间实体,比如2020-04-06T00:00:00.000+02:00 { "message": "Show me the weather for next week", "entities": [ { "value": "weather", "text": "weather", "entity":

我正在做一个气象服务,我需要写一个代码来显示下周的天气预报。从服务器上,我只有一个值为下周一的时间实体,比如2020-04-06T00:00:00.000+02:00

{
    "message": "Show me the weather for next week",
    "entities": [
        {
            "value": "weather",
            "text": "weather",
            "entity": "radio_tag"
        },
        {
            "value": "play_next",
            "text": "next",
            "entity": "media_control"
        },
        {
            "value": "next",
            "text": "next",
            "entity": "next"
        },
        {
            "value": {
                "values": [
                    {
                        "value": "2020-04-06T00:00:00.000+02:00",
                        "grain": "week",
                        "type": "value"
                    }
                ],
                "value": "2020-04-06T00:00:00.000+02:00",
                "grain": "week",
                "type": "value"
            },
            "entity": "time"
        },
        {
            "value": "weather_condition",
            "entity": "sub_intent"
        }
    ],
    "intent": "weather_condition",
    "user_id": "5258",
    "language_id": "56",
    "driver": "gigaaa",
    "abort": "0",
    "extras": {
        "coordinates": {
            "lat": "44.4150804",
            "lng": "19.1290729"
        }
    },
    "conversation_messages_count": "1"
}
例如,如果今天是星期二,我必须显示下周的星期一和星期二;如果今天是星期六04.04,我必须显示下周从星期一06.04到星期六11.04的每天。我是一个初学者,我必须使用的时刻JS为这一点

如果this.conversation.payload.grain=='week'&&moment.startOf'isoWeek'.isSamethis.conversation.payload.forecastTime,我尝试了这个条件
但条件的第二部分是不正确的

我们获取当前日期并检查我们是否与数据不在同一个isoweek中,以便从当前周中筛选出数据行。然后,我们将当前日期加上一周,这样我们就可以检查您的需求是否真的没有多大意义:为什么如果是星期二,您下周只返回星期一+星期二,但是如果是星期六,您希望提前一周?我们使用的API支持最多7天的显示。所以我说如果今天是星期五,到本周末我们还有两天时间。因此,在接下来的一周,它将显示另外5天,即从周一到周五。我不需要显示本周的天数,只需要显示下周的天数。明白吗?不过,这并不能解释你为什么只在今天是星期二时才想显示下周的星期一和星期二。请参阅。例如,如果今天是星期二31.03,则接下来的7天是:01.04、02.04、03.04、04.04、05.04、06.04、07.04。因为06.04,07.04是下周,我只需要给他们看一下。你现在明白我的意思了吗?但我现在不能硬编码“2020-04-10T00:00:00.000+02:00”。两三周后会发生什么?明白我的意思吗?那么,您可以使用数据中的变量:this.conversation.payload.value。其余部分基于当前时间。
var valueFromData = this.conversation.payload.value;
var dateFromData = moment(valueFromData).startOf('day');
var oneWeek = moment().add(7,'d').startOf('day');
if(moment().startOf('isoweek').isBefore(dateFromData)
   && dateFromData.isBefore(oneWeek))