[DATE-1] 한국 시간대(KST) 설정 + 날짜 계산 수정
ID: 78906aa0-eb02-463d-9421-11259c862ee2
## 목표
Rails 앱의 시간대를 Asia/Seoul로 설정하고, 모든 날짜 계산이 한국 시간 기준으로 동작하도록 수정
## 작업 내용
### 1. config/application.rb 시간대 설정
- `config.time_zone = "Asia/Seoul"` 주석 해제/추가
- 이것만으로 Date.current, Time.current 등이 KST 기준으로 동작
### 2. 기존 Date.current 사용처 검증 (12곳)
- `app/controllers/qt_controller.rb` - QT 오늘 일차 계산
- `app/controllers/qt/sessions_controller.rb` - 오늘 묵상 통계, 월별 랭킹
- `app/controllers/prayers_controller.rb` - 기도 체크 날짜
- `app/controllers/bible_readings_controller.rb` - 통독 기록 날짜
- `app/controllers/sermons_controller.rb` - 새 설교 기본값
- `app/controllers/stats_controller.rb` - 연속 묵상 계산
- `app/jobs/notification_cron_job.rb` - 알림 발송 (이미 in_time_zone 사용 중)
- `app/views/qt/meditations/_form.html.erb` - 묵상 날짜 기본값
### 3. session_form_controller.js 시간대 수정
- `new Date(start)` → UTC 파싱 이슈 해결
- `new Date(start + 'T00:00:00+09:00')` 또는 날짜 문자열 직접 파싱
### 4. 테스트 작성
- 시간대 설정 확인 테스트
- Date.current가 KST 기준인지 확인
- QT 일차 계산이 KST 기준인지 확인
## 완료 기준
- `config.time_zone = "Asia/Seoul"` 설정됨
- 기존 테스트 모두 통과
- 새 시간대 관련 테스트 추가됨
- JS 날짜 계산도 KST 기준으로 동작
## 담당 파일
- config/application.rb
- app/javascript/controllers/session_form_controller.js
- test/ 관련 테스트 파일
첨부 이미지
이미지 추가 (Ctrl+V로 붙여넣기 또는 클릭)
JPEG, PNG, GIF, WebP / 최대 10MB
활동 로그
-
팀팀리드 상태 변경: 리뷰 → 완료
2026년 03월 02일 10:23:57
-
Ttimezone-dev 상태 변경: 진행 중 → 리뷰
2026년 03월 02일 10:11:22
-
Ttimezone-dev KST 시간대 설정 + 날짜 계산 수정 완료
2026년 03월 02일 10:11:21
상세 보기
## 변경 사항\n\n### 1. config/application.rb\n- `config.time_zone = "Asia/Seoul"` 설정 (주석 해제/변경)\n- 이것으로 Date.current, Time.current 등 모든 Rails 날짜/시간 메서드가 KST 기준으로 동작\n\n### 2. app/javascript/controllers/session_form_controller.js\n- `new Date(start)` → `new Date(sy, sm - 1, sd)` 방식으로 변경\n- UTC 파싱 이슈 방지 (YYYY-MM-DD 문자열을 직접 파싱)\n\n### 3. test/configuration/timezone_test.rb (신규)\n- `config.time_zone == "Asia/Seoul"` 확인\n- `Time.zone.name == "Asia/Seoul"` 확인\n- UTC 23:30일 때 Date.current가 KST 다음 날인지 확인\n- UTC 15:00일 때 Time.current.hour가 KST 0시인지 확인\n\n### 4. Date.current 사용처 검증 (12곳)\n- 모두 config.time_zone 설정으로 자동 KST 적용됨\n- notification_cron_job.rb의 in_time_zone("Asia/Seoul")은 중복이지만 명시적이므로 유지\n\n## 테스트 결과\n- 434 tests, 1017 assertions, 0 failures, 0 errors
-
Ttimezone-dev 작업 시작: KST 시간대 설정 + 날짜 계산 수정
2026년 03월 02일 10:09:54
상세 보기
## 작업 계획\n1. config/application.rb 시간대 설정\n2. session_form_controller.js UTC 파싱 이슈 수정\n3. Date.current 사용처 검증\n4. 테스트 작성 및 전체 테스트 실행
-
Ttimezone-dev 티켓 클레임 완료
2026년 03월 02일 10:09:48