周日和时刻js

时间:2016-03-22 15:59:10

标签: jquery date momentjs

我有这段代码:

var day = $("#date-filter").val();

此输入的值为:“22/03/2016”。

我需要工作日。

我试图以两种方式做到这一点,但它不起作用。

1)moment(day).day()

2)moment($("#date-filter").val()).day()

2 个答案:

答案 0 :(得分:2)

moment适用于日期而非字符串。在处理之前,您需要将日期字符串解析为Date对象,然后将其传递给moment

var day = '22/03/2016', parsed = day.split('/');

moment(new Date(parsed[2], parsed[1] - 1, parsed[0])).day()

返回2(实际上是星期二)。此处需要- 1,因为JavaScript月份以0开头。

答案 1 :(得分:1)

Moment的解析器可以很好地处理这个用例,而无需对月份部分进行任何调整。

moment('22/03/2016', 'DD/MM/YYYY').day()

如果您愿意,它甚至会为您显示工作日的名称:

moment('22/03/2016', 'DD/MM/YYYY').format('dddd')
"Tuesday"

如果您希望以各种语言显示星期几,您甚至可以这样做。例如,德语:

moment('22/03/2016', 'DD/MM/YYYY').locale('de').format('dddd')
"Dienstag"

有关详细信息,请参阅解析指南和解析文档: http://momentjs.com/guides/#/parsing/ http://momentjs.com/docs/#/parsing/