鉴于yyyy-mm-dd
格式的日期,如何确定Angular / Javascript中的日期是否在周末?
$scope.isWeekend= function(){
$scope.date = '2018-05-13';
/* if (day(date)=='saturday' || day(date)=='sunday') { */
alert("");
/* } */
}
答案 0 :(得分:4)
使用Date#getDay()
获取星期几并检查它是6(星期六)还是0(星期日):
function isWeekend(string) {
var date = new Date(string);
return date.getDay() === 6 || date.getDay() === 0;
}
console.log(isWeekend('2018-05-13'));
console.log(isWeekend('2018-05-12'));
console.log(isWeekend('2018-03-13'));
答案 1 :(得分:2)
使用momentjs来确定某个日期是否属于周末有点矫枉过正。
只需四个简单的步骤,您就可以在vanilla JavaScript中可靠地完成它:
yyyy-mm-dd
拆分为[yyyy, mm, dd]
阵列。new Date(year, month, day)
创建Date
对象,使用数组中的值。month
,值介于0到11之间,而不是介于1到12之间是预期的。date.getDay()
获取星期几的数字表示,其中0表示星期日,1表示星期一,2表示星期二等。
function isWeekend(dateString) {
/* Step 1 */ var dateArray = dateString.split("-");
/* Step 2 */ var date = new Date(dateArray[0], dateArray[1] - 1, dateArray[2]);
/* Step 3 */ var day = date.getDay();
/* Step 4 */ return day === 0 || day === 6;
}
console.log(isWeekend("2018-05-03")) // false
console.log(isWeekend("2018-05-04")) // false
console.log(isWeekend("2018-05-05")) // true
console.log(isWeekend("2018-05-06")) // true
console.log(isWeekend("2018-05-07")) // false
console.log(isWeekend("2018-05-08")) // false

答案 2 :(得分:1)
在momentjs
中,使用moment('YYYY-MM-DD').day()
获取当天的号码,然后检查它是否等于6
或0
(星期六或星期日)。
function isWeekend(date) {
var date = moment(date),day = date.day();
return (day === 6) || (day === 0)
}
console.log(isWeekend("2018-05-06")) // true
console.log(isWeekend("2018-05-08")) // false

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>
&#13;