Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- vaadin
- mybatis
- IntelliJ
- tomcat
- Python
- GIT
- Android
- table
- Spring
- SQL
- react
- 보조정렬
- hadoop
- es6
- SSL
- Sqoop
- xPlatform
- Express
- NPM
- SPC
- mapreduce
- MSSQL
- 공정능력
- R
- Eclipse
- Kotlin
- Java
- JavaScript
- window
- plugin
Archives
- Today
- Total
DBILITY
momentjs weekday timetable calcuration ( 기준일자 이후 요일 기준 시간표 날짜 생성 ) 본문
front-end & ui/javascript
momentjs weekday timetable calcuration ( 기준일자 이후 요일 기준 시간표 날짜 생성 )
DBILITY 2023. 2. 3. 16:47반응형
말이 어렵다.
한 20년만에 시간표를 보니 왜 이리 어렵나!? 심지어 내가 축약방식으로 작성한 코드도 이해가 안가는 일이 생겼다.
일정표 상의 수업이 있는 요일이 기준일(학기시작일)을 기준으로 돌아오는 첫번째 주부터 날짜를 계산해야 하는 것.
머가리인지 코드로 짜는게 어렵다.SQL이 너무 편해서 인가...요샌 면접에 코딩테스트도 있다던데, 나는 10000% 불합격이다.온통 사고 방식이 가로,세로를 어떻게 가공할 것인가로 발전했나 보다.
다음은 테스트용 코드로 momentjs를 써 봤다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.9.0/moment.min.js"
integrity="sha512-l7jogMOI6ZWZJEY7lREjFdQum46y2+kpp/mnbJx7O+izymO9eGjL6Y4o7cEJNBdouhVHpti2Wd79Q6aIjPwxtQ=="
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
</head>
<body>
<script>
var baseDate = "2023-03-01"; // 수요일
var weekDay = 1; // 월요일
var adsDays = 0;
for (let i = 0; i < 15; i++) {
/*
요일은 1~7로 표현되었다.
일정표 요일이 기준일의 요일 보다 이전이면
기준일 + 다음주까지 남은 일자 + 일정표 요일
아니면
기준일 + 일정표 요일 - 기준일의 요일
코드 기준으로 2023-03-01은 수요일로 3, 일정표 요일은 월요일로 1
*/
if (weekDay < moment(baseDate).isoWeekday()) {
adsDays = 7 - moment(baseDate).isoWeekday() + weekDay;
} else {
adsDays = weekDay - moment(baseDate).isoWeekday();
}
var teachDate = moment(baseDate).add(i * 7 + adsDays, "days").format("YYYY-MM-DD");
console.log(i, weekDay, moment(baseDate).isoWeekday(), teachDate);
}
</script>
</body>
</html>
반응형
'front-end & ui > javascript' 카테고리의 다른 글
kendoGrid no record template (0) | 2023.12.06 |
---|---|
web browser local storage (0) | 2023.06.15 |
javascript optional chaining , nullish coaleasing (0) | 2022.03.30 |
javascript Object.assign (0) | 2022.02.15 |
javascript map reduce (0) | 2022.01.05 |
Comments