Ao trabalhar com datas em bancos de dados do Notion, você frequentemente precisa referenciar a data ou hora atual em suas fórmulas. Duas funções comuns para isso são now() e today(). Muitos usuários ficam confusos sobre qual usar porque os nomes soam parecidos, mas retornam tipos de dados diferentes. Este artigo explica a diferença exata entre now() e today(), como cada função funciona internamente e quando usar cada uma.
Você aprenderá o comportamento técnico de ambas as funções, verá exemplos passo a passo para usá-las nas fórmulas do seu banco de dados e entenderá armadilhas comuns que levam a resultados incorretos. Ao final, você será capaz de escolher a função correta para suas necessidades específicas de cálculo de data.
Principais Conclusões: Notion Formula now() vs today()
- now() retorna um objeto de data com hora: Inclui a data atual e a hora exata da avaliação da fórmula, até os segundos.
- today() retorna um objeto de data sem hora: Retorna apenas a data atual com o componente de hora definido como meia-noite (00:00:00).
- Use now() para cálculos sensíveis ao tempo: Acompanhe prazos, contagens regressivas ou carimbos de data/hora onde a hora e o minuto importam.
- Use today() para comparações de data de calendário: Filtre por dia, calcule idade em dias inteiros ou compare com propriedades de data que também não têm componente de hora.
Como now() e today() Funcionam nas Fórmulas do Notion
Ambas now() e today() são funções internas que retornam a data atual. A diferença crítica está no tipo de dado que retornam. O Notion armazena datas como objetos de data que incluem um componente de data e hora. A função now() retorna um objeto de data e hora completo com a hora atual. A função today() retorna um objeto de data onde o componente de hora é definido como 00:00:00 (meia-noite).
Quando você usa now() em uma fórmula, o Notion registra o momento exato em que a fórmula é avaliada. Se você atualizar a página ou o banco de dados recalcular, a hora é atualizada para o momento atual. Isso torna now() dinâmico — ele sempre reflete o instante presente. A função today() se comporta de forma semelhante, mas como a hora é sempre meia-noite, ela muda apenas quando o dia do calendário muda, geralmente à meia-noite no fuso horário do seu espaço de trabalho.
Essa distinção se torna importante quando você compara essas funções com propriedades de data no seu banco de dados. Uma propriedade de data no Notion pode ser configurada para incluir ou excluir uma hora. Se você comparar now() com uma propriedade de data que não tem hora (apenas a data), a comparação pode dar resultados inesperados porque os componentes de hora diferem. Da mesma forma, usar today() quando você precisa de precisão de hora sempre mostrará o mesmo valor durante o dia inteiro.
Comportamento Técnico de now()
A função now() retorna um objeto de data com a data e hora atuais. O componente de hora inclui horas, minutos e segundos. Por exemplo, se você avaliar now() às 15:45:22 de 15 de dezembro de 2025, o resultado é 15 de dezembro de 2025 15:45:22. Se você usar now() em uma fórmula que calcula a diferença entre agora e uma data de vencimento, o resultado pode incluir dias fracionados (por exemplo, 1,5 dias restantes).
Comportamento Técnico de today()
A função today() retorna um objeto de data com a data atual e a hora definida como meia-noite. Para o mesmo momento acima, today() retorna 15 de dezembro de 2025 00:00:00. Quando você subtrai today() de outra data, o resultado é sempre um número inteiro de dias, porque ambas as datas têm a mesma hora de meia-noite. Isso torna today() ideal para contar dias de calendário sem horas fracionadas.
Quando Usar now() e today() nas Fórmulas
Escolher a função correta depende do que você deseja calcular. Use now() quando precisar da hora exata. Use today() quando você se importa apenas com a data. Abaixo estão casos de uso específicos com exemplos passo a passo.
Use now() para Cálculos Sensíveis ao Tempo
- Criar uma contagem regressiva para um prazo
Crie uma propriedade de fórmula chamada “Tempo até o Vencimento” e insira:dateBetween([Data de Vencimento], now(), "hours"). Isso retorna o número de horas restantes. Comonow()inclui a hora atual, a contagem regressiva é atualizada cada vez que a fórmula recalcula, mostrando horas e frações de horas. - Calcular idade em anos com precisão
UsedateBetween(now(), [Data de Nascimento], "years"). Isso dá uma idade precisa porque considera a hora atual. Uma pessoa nascida às 10:00 fará aniversário exatamente às 10:00 no dia do aniversário, não à meia-noite. - Registrar a hora exata em que um status mudou
Combinenow()com uma fórmula que é acionada por mudanças de propriedade. Por exemplo,if(prop("Status") == "Concluído", now(), [Hora de Criação])registra o timestamp exato da conclusão.
Use today() para Comparações de Data de Calendário
- Filtrar tarefas com vencimento hoje
Crie uma propriedade de fórmula chamada “Vence Hoje” e insira:formatDate(prop("Data de Vencimento"), "YYYY-MM-DD") == formatDate(today(), "YYYY-MM-DD"). Isso compara apenas a parte da data, ignorando a hora. Retorna verdadeiro se a data de vencimento cair no dia do calendário atual. - Calcular idade em anos inteiros
UsedateBetween(today(), [Data de Nascimento], "years"). Isso retorna a idade a partir da data de hoje, sem considerar a hora do nascimento. O resultado é sempre um número inteiro. - Determinar se uma tarefa está atrasada em dias
UsedateBetween(today(), [Data de Vencimento], "days"). Se o resultado for positivo, a tarefa está atrasada por esse número de dias completos. Comotoday()não tem hora, uma tarefa com vencimento às 23:59 não é considerada atrasada até o próximo dia do calendário.
Erros Comuns e Equívocos
Mesmo usuários experientes do Notion cometem erros ao misturar now() e today() com propriedades de data que têm componentes de hora. Abaixo estão os problemas mais frequentes.
Comparar now() com uma Propriedade de Data Sem Hora
Se sua propriedade de data armazena apenas uma data (sem hora), e você a compara com now(), a propriedade de data é tratada como meia-noite daquele dia. A comparação now() > [Propriedade de Data] será verdadeira durante quase todo o dia após a data da propriedade, porque now() é sempre posterior à meia-noite do mesmo dia. Isso pode fazer com que tarefas pareçam atrasadas horas antes do prazo. Use today() para comparações justas apenas com data.
Usar today() Quando Você Precisa de Precisão de Hora
Se você usar today() em uma fórmula de contagem regressiva como dateBetween([Data de Vencimento], today(), "hours"), o resultado será sempre um múltiplo de 24 horas. Uma tarefa com vencimento às 15:00 de hoje mostrará 0 horas restantes à meia-noite, mesmo que não esteja vencida por mais 15 horas. Use now() para precisão de hora.
Assumir que now() e today() Retornam o Mesmo Tipo
Ambas as funções retornam um objeto de data, mas seus componentes de hora diferem. Se você usar now() em uma fórmula que espera apenas uma data (por exemplo, em um rollup que agrupa por data), o componente de hora pode causar agrupamento inesperado. Sempre converta para um formato apenas de data usando formatDate() se precisar agrupar por dia.
Notion now() vs today(): Principais Diferenças Comparadas
| Item | now() | today() |
|---|---|---|
| Tipo de retorno | Objeto de data com hora atual | Objeto de data com hora definida como meia-noite |
| Componente de hora | Inclui horas, minutos, segundos | Sempre 00:00:00 |
| Frequência de atualização | A cada recálculo da fórmula | Uma vez por dia do calendário |
| Melhor caso de uso | Contagens regressivas, carimbos de data/hora, idade com precisão | Filtros diários, atraso em dias inteiros, idade em anos |
| Exemplo de fórmula | dateBetween([Vencimento], now(), "hours") |
dateBetween([Vencimento], today(), "days") |
| Funciona com propriedades apenas de data | Pode produzir resultados fracionados | Produz resultados de números inteiros |
Entender essas diferenças ajuda a evitar erros de cálculo. now() fornece o momento exato atual, enquanto today() fornece o dia do calendário atual começando à meia-noite. Escolha a que corresponde aos seus requisitos de dados. Para a maioria do planejamento diário e gerenciamento de tarefas, today() é a escolha mais segura, pois evita surpresas relacionadas à hora. Para qualquer fórmula que acompanhe horas ou minutos, use sempre now().
Para testar seu entendimento, tente criar uma fórmula que mostre “Atrasado por X dias” usando today() e outra que mostre “Atrasado por X horas” usando now(). Compare os resultados para uma tarefa com vencimento às 15:00. Você verá que a fórmula baseada em dias mostra 0 até meia-noite, enquanto a fórmula baseada em horas mostra as horas restantes corretas. Este teste prático solidificará a diferença no seu fluxo de trabalho.