簡體   English   中英

Moment JS(“必須顯示下周的幾天”)

[英]Moment JS (“Must to show days in next week”)

我正在研究氣象服務,我需要編寫一個代碼來顯示下周的天氣預報。 在服務器上,我只有一個“時間”實體,其“價值”為下周一,如“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)的每一天。 我是初學者,為此我必須使用 Moment JS。

我試過這個條件if (this.conversation.payload.grain === 'week' && moment().startOf('isoWeek').isSame(this.conversation.payload.forecastTime))但條件的第二部分不是正確的。

我們獲取當前日期並檢查我們是否與數據不在同一個等周,以便從當前周中過濾掉數據行。 然后,我們獲取當前日期並添加一周,以便我們可以檢查是否已過去 <1 周。 從理論上講,只要用戶的時區和返回的數據相同,就應該是你需要的。

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))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM