DEV/javascript
Javascript 문자열이 날짜 형식인지 확인하기
석봉
2022. 3. 16. 15:40
/**
* 입력 문자열이 날짜 형태인지를 반환
* @param {string} date
* @param {string} pattern 날짜 Format yyyyMMddHHmmssSSS
* @returns
*/
const isDate = (date, pattern) => {
if (date.length != pattern.length) {
return false;
}
let patArr = pattern.split('');
let datArr = date.split('');
let yyyy = "";
let mm = "";
let dd = "";
let hh = "";
let mi = "";
let ss = "";
let sss = "";
let idx = 0;
for (let s of patArr) {
if (s === "y") {
yyyy += datArr[idx];
} else if (s === "M") {
mm += datArr[idx];
} else if (s === "d") {
dd += datArr[idx];
} else if (s === "H") {
hh += datArr[idx];
} else if (s === "m") {
mi += datArr[idx];
} else if (s === "s") {
ss += datArr[idx];
} else if (s === "S") {
sss += datArr[idx];
} else {
if (s !== datArr[idx]) {
return false;
}
}
idx++;
}
// 년과, 월이 없는 경우 윤달 여부로 인해 날자 형식 확인 불가
if (yyyy === "") {
return false;
}
if (mm === "") {
return false;
}
if (hh === "") {
hh = "01";
}
if (dd === "") {
dd = "01";
}
if (mi === "") {
mi = "01";
}
if (ss === "") {
ss = "01";
}
if (sss === "") {
sss = "01";
}
return !!Date.parse(yyyy + "-" + mm + "-" + dd + "T" + hh + ":" + mi + ":" + ss + "." + sss + "Z");
}
결과
isDate("19940905", "yyyyMMdd"); // true
혹시 필요하실까요...?
https://seokbong.tistory.com/70
Javascript Object 내부 날짜(Date) 오름차순/내림차순(sort, reverse) 하기
Javascript를 사용하면 다양한 Object를 다루게 된다. 오늘 Object 내부에 있는 날짜(Date)를 내림차순으로 정리해달라는 부탁을 받았다. // 데이터 const arr = { list1: [ {"date":"2022-02-10 11:20", "name":"..
seokbong.tistory.com