예약 기능: 날짜가 하루씩 달라지는 이유

바이브코딩으로 예약 기능을 만들고 10월 15일을 선택했습니다. 그런데 다른 기기에서는 10월 14일로 보입니다. 달력은 같은데 왜 날짜가 달라졌을까요? 날짜만 필요한 정보와 정확한 시각이 필요한 정보를 함께 다루었을 수 있습니다.
날짜와 시각은 용도가 다릅니다
생일이나 특정 날짜의 휴무는 보통 “몇 월 며칠”이 중요합니다. 오후 두 시 상담은 날짜뿐 아니라 시각도 필요하고요. 날짜만 필요한 값을 자정이라는 시각으로 바꾼 뒤 다른 시간대에서 표시하면 날짜가 이동할 수 있습니다.
그래서 저장할 정보부터 나눠봅니다. 날짜만 쓰는 값은 날짜로, 실제 예약 시각은 시각과 기준 시간대를 고려해 저장하고 표시합니다. 저장 형식과 날짜를 다루는 도구의 처리 방식도 함께 확인해요.
누구의 시간으로 보여줄지 정합니다
국내 상담 서비스라면 손님이 해외에 있어도 한국시간 예약표를 보여주는 정책을 선택할 수 있습니다. 여러 나라에서 쓰는 서비스라면 손님의 현지 시간으로 보여줄 수도 있고요. 어느 쪽이든 화면에 기준을 알려줍니다.
예를 들어 “오후 2시, 한국시간”처럼 표시하면 손님이 이해하기 쉽습니다. 서버에 저장할 기준과 화면에 보여줄 기준이 다를 수 있다는 점도 AI에게 전달해요. 시간대 차이가 있다고 모든 값에 일정 시간을 더하는 식으로 고치지는 않습니다.
목록의 하루도 기준이 있어야 합니다
관리자페이지에서 오늘 예약을 볼 때, 한국시간 자정부터 다음 자정까지인지 서버 시간의 하루인지 정합니다. 화면은 한국시간인데 검색 범위는 다른 시간으로 잡으면 밤과 새벽 예약이 다른 날 목록에 들어갈 수 있어요.
확인할 때는 자정 직전·직후, 월말·월초의 예약을 봅니다. 기기의 시간대를 바꿔도 날짜만 쓰는 값은 그대로인지, 시각이 있는 예약은 정한 정책대로 표시되는지도 살펴봅니다.
컴윗에서 날짜 기능을 만든다면 “휴무일은 날짜만 저장하고, 상담 예약은 한국시간을 기준으로 입력·조회하게 해줘”처럼 정보의 용도를 설명해보세요. 달력 모양보다 먼저 정할 규칙입니다.


