🛠️ 수월한 도구 사용 가이드/노션 가이드

노션 날짜 속성에서 시간만 추출하는 방법 (formatDate vs hour 함수)

수월한 2025. 3. 29. 13:24
728x90

포스팅 썸네일 이미지

 

안녕하세요, 워크플로우 아키텍트, 수월한입니다.👋

 

오늘은 노션 데이터베이스의 날짜 속성에서 시간만 추출하는 방법에 대해 알아보겠습니다. 날짜 속성에서 시간 정보만 분리해서 보고 싶을 때가 있잖아요?

 

이 글에서는 `formatDate()` 함수와 `hour()`, `minute()` 함수를 활용해 날짜에서 시간만 수월하게 추출하는 두 가지 방법을 정리해드릴게요.

📅 노션 날짜 시간만 추출하는 2가지 핵심 방법 (수식 정리)

노션의 날짜 속성은 기본적으로 날짜 + 시간을 함께 저장합니다. 하지만 보기나 필터링, 계산을 위해서는 시간만 따로 추출하고 싶은 경우가 많습니다. 예를 들어 날짜 없이 "09:00"만 보고 싶다거나, "오전 9시 이전 일정만 보기" 필터링을 할 때와 같은 상황이죠.

 

시간을 추출하는 방법은 크게 두 가지입니다.

  1. `formatDate()`를 사용해 문자열로 추출하는 방법
  2. `hour()`, `minute()`를 사용해 숫자로 추출하는 방법

방법 1. `formatDate()` 함수로 시간 형식(문자열) 만들기

✅ 가장 쉬운 사용법 (점 표기법)

복잡하게 생각할 것 없이 딱 이것만 기억하세요! 수식 창 열고, 날짜 속성 뒤에 점(.)을 찍고 `formatDate("형식")`을 붙이면 끝입니다. 마치 "날짜야, 이런 형식으로 변해라!"라고 명령하는 순서와 같습니다.

// 날짜 속성 값이 2025-03-29 14:30:45일 경우

prop("날짜").formatDate("HH:mm") 
// 결과: 14:30 (깔끔하게 시간만 나옵니다)

✅ 오전/오후 정보가 필요할 때

위 수식에서 시간을 "HH"를 사용하여 24시간 기준으로 표시했기 떄문에 오전/오후 정보가 필요하지 않은데요.

만약 "hh"를 사용하면 12시간 기준으로 시간이 표시되기 때문에 오전/오후 정보가 필요합니다.

 

이때는 오전/오후 날짜를 표시하고 싶은 위치에 "A"를 붙여주면 됩니다.

// 날짜 속성 값이 2025-03-29 14:30:45일 경우
formatDate(prop("날짜"), "A hh:mm") // 결과: 오후 02:30

⏱️시간 관련 포맷 옵션 정리

  포맷 예시 비고
H 0~23 시간 (1자리) 3, 14 24시간 형식, 0 padding 없음
HH 00~23 시간 (2자리) 03, 14 24시간 형식, 항상 2자리
h 1~12 시간 (1자리) 3, 9 12시간 형식, 0 padding 없음
hh 01~12 시간 (2자리) 03, 09 12시간 형식, 항상 2자리
m 분 (1자리) 5, 45 0 padding 없음
mm 분 (2자리) 05, 45 항상 2자리
s 초 (1자리) 7, 59 0 padding 없음
ss 초 (2자리) 07, 59 항상 2자리
A 오전/오후 AM, PM (오전, 오후) 대문자 AM/PM
a 오전/오후 am, pm (오전, 오후) 소문자 am/pm
Z 시간대 오프셋 +0900, -0500 시스템 기준으로 자동 표시

방법2. `hour()`, `minute()`를 사용하여 숫자로 추출하기

✅ 기본 사용법

이 방법은 말 그대로 시간과 분을 각각 쪼개서 표현하는 방법입니다.

// 날짜 속성 값이 2025-03-29 14:30:45일 경우
// 1. hour()
hour(prop("날짜")) // 결과: 14
// 날짜 속성 값이 2025-03-29 14:30:45일 경우

// 2. minute()
minute(prop("날짜")) // 결과: 30

`hour()`와 `minute()`은 시간과 분을 '텍스트' 가 아닌 '숫자'로 추출하기 때문에, 아래 상황에서 사용하기에 좋답니다.

  • 시간 비교 (예: `hour()` > 12)
  • 조건부 필터링
  • 수식 계산 (예: 분 단위 합산 등)

🚀 실전 활용을 위한 심화 설정 팁 (날짜 범위 & 시간대)

1. 시작 시간(Start)과 종료 시간(End) 분리하기

날짜 속성에 '종료일 포함'을 체크해서 기간(예: 14:00 ~ 15:00)으로 설정되어 있다면 어떻게 할까요? 이때는 날짜 앞에 `dateStart()`(시작) 혹은 `dateEnd()`(종료)만 붙여주면 됩니다.

// 예시 날짜: 2025-03-29 14:00 → 15:00

// 1. 시작 시간만 뽑고 싶을 때 (dateStart)
prop("날짜").dateStart().formatDate("HH:mm") 
// 결과: 14:00
// 예시 날짜: 2025-03-29 14:00 → 15:00

// 2. 종료 시간만 뽑고 싶을 때 (dateEnd)
prop("날짜").dateEnd().formatDate("HH:mm") 
// 결과: 15:00

2. 시간이 엉뚱하게 나온다면? (시간대 오류 해결)

혹시 수식을 적용했는데 "오후 2시인데 오전 5시로 나온다"거나 시간이 이상하게 바뀐 적 있으신가요?

 

이것은 노션 서버가 세계 표준시(UTC)를 기준으로 작동하기 때문입니다. 한국은 표준시보다 9시간이 빠르기 때문에, 수식에서 "여기는 한국이야!"라고 알려주지 않으면 9시간 차이가 발생할 수 있습니다.

 

✅ 해결 방법: 수식 맨 뒤에 "Asia/Seoul" 추가하기

가장 확실한 방법은 `formatDate()` 괄호 안, 맨 마지막에 한국 시간대인 "Asia/Seoul"을 적어주는 거예요.

// ❌ 시간대를 설정하지 않은 경우 (시간이 틀릴 수 있음)
prop("날짜").formatDate("A hh:mm")
// ⭕ 한국 시간대("Asia/Seoul")를 지정한 경우 (정확함)
prop("날짜").formatDate("A hh:mm", "Asia/Seoul") 
// 결과: 오후 02:00 (정확한 한국 시간 표시)

마무리하며

노션 데이터베이스에서 시간을 추출하려면 목적에 따라 적절한 방법을 선택하는 것이 중요해요.

  • 보기용이라면 `formatDate()`
  • 비교나 계산용이라면 `hour()` / `minute()`

두 가지 방법을 잘 활용하면 노션을 훨씬 더 유연하게 사용할 수 있습니다. 궁금한 점이나 실습 중 막히는 부분이 있다면 댓글로 남겨주세요. 수월한 노션 활용을 계속 도와드릴게요! 💪

💬자주 묻는 질문

Q1. 노션 날짜에서 시간만 따로 보고 싶은데 가장 쉬운 방법은 무엇인가요?

가장 쉬운 방법은 `formatDate()` 함수를 사용하는 것입니다. 날짜 속성 뒤에 `날짜속성.formatDate("HH:mm")`을 붙여주면 24시간 형식(예: 14:30)으로 시간만 깔끔하게 추출할 수 있습니다.

Q2. 추출한 시간이 실제 시간과 다르게(엉뚱하게) 나옵니다. 이유가 뭔가요?

대부분 시간대(Timezone) 설정 문제입니다. 노션은 내부적으로 UTC(협정 세계시)를 사용하는데, `formatDate()`를 쓸 때 시간대 정보를 넣지 않으면 한국 시간이 아닌 표준시로 변환될 수 있습니다. 수식의 세 번째 인수에 "Asia/Seoul"을 추가하거나 날짜 속성에서 시간대 설정을 확인해 보세요.

Q3. "14:30" 대신 "오후 02:30"처럼 오전/오후를 표시하려면 어떻게 하나요?

`formatDate()`의 포맷 옵션에 "A" 또는 "a"를 추가하면 됩니다. "A hh:mm"을 사용하면 "PM 02:30"처럼 대문자로, "a hh:mm"을 사용하면 "pm 02:30"처럼 소문자로 오전/오후가 표시됩니다. 이때 시간은 대문자 HH가 아닌 소문자 hh를 써야 12시간제로 변환됩니다.

Q4. `formatDate()`와 `hour()`/`minute()` 중 무엇을 써야 하나요?

목적에 따라 다릅니다.단순히 눈으로 보기 위한 용도라면 텍스트로 변환해 주는 `formatDate()` 좋습니다. 하지만 "오후 6시 이후 일정만 필터링"하거나 시간 계산이 필요하다면, 숫자로 값을 반환하는 `hour()`와 `minute()` 함수를 사용하는 것이 훨씬 유리합니다.

수월한 노션 가이드 시리즈

 

[수월한 노션] 복붙해서 바로 쓰는 노션 업무일 계산 수식 (주말 제외)

안녕하세요, 라이언입니다. 👋 노션이 기업에서도 많이 활용되면서, 아마 많은 분들이 노션으로 프로젝트 관리나 인사 관리를 하고 계실텐데요. 프로젝트 관리, 급여 정산, 휴가 계획 등에서는

suwolhan.tistory.com