[Notion] 노션 디데이 함수

Nov 20, 2020 00:55 · 548 words · 2 minute read Notion

기존 노션에는 디데이 기능이 없다. 칸반보드를 사용하며 계획한 날짜와 며칠이나 남았는지가 보였으면 좋겠다고 생각했다.

다행히 노션에는 Formula라는 함수를 생성할 수 있는 property가 존재한다. 그래서 노션의 함수를 사용해서 디데이를 만들어 보았다.

우선 목표 결과물 맨 아랫줄의 날짜와 디데이가 보인다.

전체 코드는 이러하다.

formatDate(end(prop("Due")), 
"MM월DD일 ddd 까지 /" + if(end(prop("Due")) < now(), 
concat(" \D+", format(dateBetween(end(prop("Due")), now(), "days") * -1)), 
concat(" \D-", format(dateBetween(end(prop("Due")), now(), "days") + 1))))

formatDate는 param1 의 날짜를 param2의 형태로 보여준다. 여기서는 ‘Due’라는 날짜의 endDate를 ‘MM월DD일 ddd 까지 / + D - day’ 의 형태로 보여준다.

if는 삼항연산자라고 생각하면 되는데 if(boolean, true, false)가 들어간다. param1 의 결과에 따라 true, false의 값을 보여준다.

조건에 지정한 Due의 endDate가 현재(now()) 보다 이전이면 , 즉 기한이 지나면 dateBetween으로 Due 날짜의 endDate와 현재날짜 사이의 일수를 구해 ‘D+‘를 붙여서 보여주고 기한이 지나지 않았다면 ‘D-‘를 붙여 보여준다.

  • concat는 date에 ‘D+, D-‘를 추가하여 보여주기 위해 사용했다.
  • *1은 지난 날짜에 대해 dateBetween이 음수를 반환하여 +양수로 보여주기 위해 사용했다.