它是本周的某一天吗?瞬间JS

Is it a day in the current week? Moment JS

我有一个问题。你能告诉我如何查看是星期几吗?

我正在开发一些天气预报服务。我有今天,但必须检查是否在本周。我只知道我必须使用 Moment JS 中的 'isSame' 函数。 这是我的代码行。

 if(this.conversation.payload.grain==="week" && moment().startOf('week').isSame(this.conversation.payload.forecastTime))

"forecastTime" 是当天。但是条件不好没有进入if循环

谢谢!

这是假设您的 forecastedDate 是实际的 javascript 日期或时刻对象。

isSame 函数也接受粒度参数。

只需将 'week' 参数添加到 isSame 方法中,如下所示:

if(this.conversation.payload.grain==="week" &&
    moment().startOf("week").isSame(this.conversation.payload.forecastTime, "week"))

使用 momentjs 库可以轻松获得星期几。

这将根据区域设置为您提供星期几:

var dayOfWeek = moment(this.conversation.payload.forecastTime).weekday()

例如,如果语言环境使用星期一作为一周的第一天,则 0 = 星期一,6 = 星期日。请记住,您收到的值会根据当前区域设置而变化。

如果您不希望该值根据区域设置更改,但总是希望收到周一至周日的值,请使用 isoWeekday():

var dayOfWeek = moment(this.conversation.payload.forecastTime).isoWeekday()

这会给你一个整数 1-7。 1 = 星期一,7 = 星期日。

因此,例如,如果上面的代码返回 4,您就会知道今天是星期四。

有关 weekday()、isoWeekday 和 day() 函数的更多详细信息,请查看 momentjs docs