Files
Manmics/mangashelf-server/node_modules/@honeo/check/_is/is-valid-date.mjs
T
2025-10-10 18:00:07 -04:00

31 lines
786 B
JavaScript

/*
引数の日時が存在するものかをBooleanで返す
引数
1, 2, 3: number
返り値
boolean
参考
[Vanilla JavaScriptで簡単に日付が有効かどうかチェックする方法 | Rriver](https://parashuto.com/rriver/development/validate-date-using-vanilla-js)
*/
// Mod
import isNumber from './is-number.mjs';
function isValidDate(year, month, day){
if( !isNumber(year, month, day) ){
throw new TypeError(`Invalid arguments`);
}
const date = new Date(year, month-1, day);
const isSameYear = date.getFullYear()===year;
const isSameMonth = date.getMonth()===(month-1);
const isSameDay = date.getDate()===day;
const result = isSameYear && isSameMonth && isSameDay;
return result;
}
export default isValidDate;