공유/JavaScript, TypeScript
[JS,TS] 문자열로 되어 있는 new Date 함수 실행하기
구하천포
2024. 10. 21. 19:02
문자열로 되어 있는 new Date 함수 실행하기
로그를 이용하여 사용자 행동 패턴 분석을 확인할 수 있는 서비스를 구현하고 있습니다.
프론트에서 aggregation 명령어를 작성하여 문자열 그대로 서버에 전송하여, 서버에서 문자열을 파싱하여 제대로 된 aggregation 명령어로 변환 후 실행합니다.
이 경우 프론트에서 new Date("날짜") 함수를 작성하게 되면 문자열이기 때문에 서버에서 제대로 처리를 할 수 없습니다.
모든 경우가 아래처럼 key, value 형태인 객체로 되어 있습니다.
아래 형태가 모두 문자열이라고 가정하고 new Date를 어떻게 실행시킬 수 있을까, 실행하는 방법을 알아보도록 하겠습니다.
date: {
$gte: new Date("날짜"),
$lte: new Date("날짜")
}
코드
const dateStrings = obj[key].match(/new Date\("(.+?)"\)/);
if (dateStrings) {
obj[key] = new Date(dateStrings[1]);
}
위처럼 간단하게 정규식을 이용하여 new Date("날짜") 함수 내에 있는 "날짜"를 뽑아내면 됩니다.
그리고 new Date 함수를 이용하여 실행해주면 됩니다.
반응형