โ๏ธ Date Progress
There is an awesome website that provides the percentage of the year, month and day to plug into your Notion workspace. My aim was to create the same progress bars inside a Notion database. You can copy this template at the bottom of the page and place it at the top of a dashboard. The following are the formulas to copy and paste if you prefer. Learn more about the anatomy of a Notion progress bar here.
What you need:
One formula property for each progress bar
Year Progress Formula
if(10 * toNumber(formatDate(now(), "DDD")) / 365 < 1, "โโโโโโโโโโ " + format(floor(100 * toNumber(formatDate(now(), "DDD")) / 365)) + "%", if(year(now()) % 4 == 0, slice("โโโโโโโโโโ", 0, 10 * toNumber(formatDate(now(), "DDD")) / 366) + slice("โโโโโโโโโโ", 10 * toNumber(formatDate(now(), "DDD")) / 366) + " " + format(floor(100 * toNumber(formatDate(now(), "DDD")) / 366)) + "%", slice("โโโโโโโโโโ", 0, 10 * toNumber(formatDate(now(), "DDD")) / 365) + slice("โโโโโโโโโโ", 10 * toNumber(formatDate(now(), "DDD")) / 365) + " " + format(floor(100 * toNumber(formatDate(now(), "DDD")) / 365)) + "%"))
Month Progress Formula
if(year(now()) % 4 == 0 and month(now()) == 1, slice("โโโโโโโโโโ", 0, 10 * toNumber(formatDate(now(), "D")) / 29) + slice("โโโโโโโโโโ", 10 * toNumber(formatDate(now(), "D")) / 29) + " " + format(floor(100 * toNumber(formatDate(now(), "D")) / 29)) + "%", if(month(now()) == 0 or month(now()) == 2 or month(now()) == 4 or month(now()) == 6 or month(now()) == 7 or month(now()) == 9 or month(now()) == 11, slice("โโโโโโโโโโ", 0, 10 * toNumber(formatDate(now(), "D")) / 31) + slice("โโโโโโโโโโ", 10 * toNumber(formatDate(now(), "D")) / 31) + " " + format(floor(100 * toNumber(formatDate(now(), "D")) / 31)) + "%", if(month(now()) == 1, slice("โโโโโโโโโโ", 0, 10 * toNumber(formatDate(now(), "D")) / 28) + slice("โโโโโโโโโโ", 10 * toNumber(formatDate(now(), "D")) / 28) + " " + format(floor(100 * toNumber(formatDate(now(), "D")) / 28)) + "%", if(month(now()) == 1 or month(now()) == 3 or month(now()) == 5 or month(now()) == 8 or month(now()) == 10, slice("โโโโโโโโโโ", 0, 10 * toNumber(formatDate(now(), "D")) / 30) + slice("โโโโโโโโโโ", 10 * toNumber(formatDate(now(), "D")) / 30) + " " + format(floor(100 * toNumber(formatDate(now(), "D")) / 30)) + "%", ""))))
Week Progress Bar
if(day(now()) == 0, "โโโโโโโโโโ 100% ", slice("โโโโโโโโโโ", 0, 10 * day(now()) / 7) + slice("โโโโโโโโโโ", 10 * day(now()) / 7) + " " + format(floor(100 * day(now()) / 7)) + "%")
Day Progress Bar (updated every hour)
if(10 * hour(now()) / 24 < 1, "โโโโโโโโโโ " + format(floor(100 * hour(now()) / 24)) + "%", slice("โโโโโโโโโโ", 0, 10 * hour(now()) / 24) + slice("โโโโโโโโโโ", 10 * hour(now()) / 24) + " " + format(floor(100 * hour(now()) / 24)) + "%")