타임존 개념에 대해서 잘 몰라서 찾아봄.
나라마다 시차가 다르기 때문에
전 세계 시스템이 동일 기준으로 시간 데이터를 다루기 위해 UTC를 사용한다.
SAP, 서버 로그, 클라우드 시스템 등에서는 모두 UTC로 저장 후,
사용자 타임존에 맞게 변환해서 보여준다.
| 항목 | 기준 시간 | 설명 |
|---|---|---|
| 저장 기준 | UTC (세계 표준시) | 전 세계 공통 시간으로 저장 |
| 표시 기준 | 사용자 타임존(Local) | 각 사용자의 지역 시간대에 맞춰 표시 |
전 세계에서 공통으로사용하는 시간 기준.
Time Zone(시간대)는 지역별 시차를 나타내는 값으로,
SAP에서는 시간을 저장(UTC) ↔ 표시(로컬) 사이에서 변환하는 기준 역할
SAP에서 Time Zone은 사용자 위치에 맞는 시간 변환 기준이고,
시스템은 항상 UTC로 저장하고, Time Zone을 기준으로 변환해 보여준다!
**"해가 길어지는 여름철에 시계를 1시간 앞당기는(빠르게돌리는) 제도"
보통 3~11월 사이에 적용됨/ "오전이 더 밝고, 오후 활동 시간이 늘어나게" 하기 위해 도입
유럽, 미국 등 일부 나라만 사용, 아시아 대부분 국가는 사용 안함.
썸머타임이 시작되면,
예전에는 UTC+1이던 독일이 → UTC+2로 바뀐다.
예시:
같은 UTC 12:00이라도, 썸머타임 적용 후에는
→ 독일 현지 시각은 14:00으로 표시된다.
왜?
시계가 1시간 더 앞서 있기 때문이다.
그래서 우리는 시간이 "빨라진 것처럼" 느끼게 되는 것이다.
| 저장된 시간 (UTC) | 사용자 타임존 | 실제 표시 시간 |
|---|---|---|
| 2025-04-06 00:00 | 🇰🇷 KST (UTC+9) | 2025-04-06 09:00 |
| 2025-04-06 00:00 | 🇩🇪 CET (UTC+1) | 2025-04-06 01:00 |
| 2025-04-06 00:00 | 🇺🇸 EST (UTC-4) | 2025-04-05 20:00 |
SU01 → Defaults 탭 → Time Zone 설정 (예: ROK, UTC+9)Settings → Regional Settings → Time ZoneCALL FUNCTION 'CONVERT_TIME_STAMP'
EXPORTING
timestamp_utc = '20250406000000'
time_zone = 'ROK'
IMPORTING
timestamp = DATA(lv_local_time).
DB 테이블 (CDHDR, EDIDC)의 시간은 항상 UTC 기준!
CDHDR는 데이터가 변경된 로그, EDIDC는 시스템 간 통신 로그,
둘 다 시간은 UTC 기준으로 저장돼서 표시 시 변환이 필요
사용자 화면에서 표시되는 시간은 타임존을 적용한 결과임
SAP 시스템은 시간 데이터를 UTC 기준으로 저장하고 전송하지만,
Fiori 앱에서의 화면 표시, 전표 조회, 외부 시스템 연동에서는
Time Zone 설정 여부가 매우 중요
2025-04-062025-04-06 00:00 ~ 23:592025-04-06 09:00 ~ 2025-04-07 08:59만 해당됨저장·전송은 UTC 기준,
표시·조회·연동은 Time Zone 적용 여부에 따라 결과가 달라진다.