确定日期是否在 Angular/Javascript 中的周末
Determine whether a date falls on weekend in Angular/Javascript
给定一个 yyyy-mm-dd
格式的日期,如何确定日期是否在 Angular/Javascript 的周末?
$scope.isWeekend= function(){
$scope.date = '2018-05-13';
/* if (day(date)=='saturday' || day(date)=='sunday') { */
alert("");
/* } */
}
使用 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'));
在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>
仅仅使用 momentjs 来确定一个日期是否在周末有点过分了。
您只需四个简单的步骤即可在原版 JavaScript 中可靠地完成此操作:
- 将您的
yyyy-mm-dd
拆分为 [yyyy, mm, dd]
数组。
- 使用
new Date(year, month, day)
创建一个 Date
对象,使用数组中的值。
请注意,month
的值介于 0 和 11 之间,而不是介于预期为 1 和 12。
- 使用
date.getDay()
获取星期几的数字表示,其中 0 是星期日,1 是星期一,2 是星期二,依此类推
- 检查星期几是 0 还是 6。
演示
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
给定一个 yyyy-mm-dd
格式的日期,如何确定日期是否在 Angular/Javascript 的周末?
$scope.isWeekend= function(){
$scope.date = '2018-05-13';
/* if (day(date)=='saturday' || day(date)=='sunday') { */
alert("");
/* } */
}
使用 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'));
在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>
仅仅使用 momentjs 来确定一个日期是否在周末有点过分了。
您只需四个简单的步骤即可在原版 JavaScript 中可靠地完成此操作:
- 将您的
yyyy-mm-dd
拆分为[yyyy, mm, dd]
数组。 - 使用
new Date(year, month, day)
创建一个Date
对象,使用数组中的值。
请注意,month
的值介于 0 和 11 之间,而不是介于预期为 1 和 12。 - 使用
date.getDay()
获取星期几的数字表示,其中 0 是星期日,1 是星期一,2 是星期二,依此类推 - 检查星期几是 0 还是 6。
演示
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