<aside> ✅ RĂ©solu

21 mars 2023

‱ AprĂšs envoi de cette page aux ingĂ©nieurs Notion (merci KatheleenLmr), le problĂšme dateBetween() est rĂ©solu ✅. ‱ La problĂ©matique de formatDate() n’est plus d’actualitĂ© bien que le comportement d’origine ne soit pas totalement rĂ©tabli. Les formules de cette page testant le bug formatDate() ont Ă©tĂ© modifiĂ©es en consĂ©quence.

Réponses du support Notion :

21 mars 2023 ”Our engineering team has fixed a couple of bugs in relation to timezone that may have been affecting your formulas here. For the first issue, I am seeing the ⁉ Problùme has disappeared from all but a small number of test columns. The calculations should be working as before in this case. For the second issue, the engineering team has reversed a change, but also mentioned that the format "HH\hmm\min" was not expected to work in an older test setup they have. This may need to be "HH\h\\mm\min" for what you have in mind.”

14 mars 2023 ”Our engineering team is looking into some recent changes to our formulas that may have impacted this, which coincide with the period mentioned on the page you shared.

I think that should be enough details for the team to work with at the moment, on the basis that your formulas are dependent on the same issues in the example database.

I've duplicated this and translated the clear explanation using our AI function, so our engineering team can go through the details in more depth.”

24 février 2023

Les fonctions dateBetween() et formatDate() ont subitement changé de comportement. Les deux problÚmes sont survenus une premiÚre fois le 15 février 2023 avant de disparaßtre aprÚs quelques jours. Ils ont fait à nouveau leur apparition le 24 février 2023 et persistent depuis.

</aside>


Le problĂšme dateBetween()

<aside> ✅

Résolu


21 mars 2023 - Les ingĂ©nieurs de Notion ont rĂ©solu le problĂšme. ✅

6 mars 2023 10:00 (UTC+1) - Le problĂšme est le suivant :

Lorsqu’on rĂ©alise un dateBetween() entre une date (Date 2) et une date plus rĂ©cente (Date), Notion va considĂ©rer qu’il y a au moins un jour (ou une annĂ©e ou une semaine etc.) entre les deux dates, mĂȘme s’il n’y a qu’une minute de diffĂ©rence. Auparavant le comportement Ă©tait diffĂ©rent, il a changĂ© depuis prĂšs d’une semaine.

La base de données ci-dessous illustre le problÚme : Date est fixe, Date 2 est variable.

La formule utilisĂ©e est dateBetween(prop("(Date 2"), prop("Date"), "**years**"). Le problĂšme est le mĂȘme avec l’élĂ©ment de temps years ou days etc. sauf minutes.

</aside>

dateBetween() Auto-détection

TEST - Formules

dateBetween(prop("Date 2"), prop("Date"), "years") + if(and(abs(dateBetween(prop("Date"), prop("Date 2"), "years")) != abs(dateBetween(prop("Date 2"), prop("Date"), "years")), prop("Date") > prop("Date 2")), 1 * toNumber(not empty(dateBetween(fromTimestamp(0), fromTimestamp(60000), "years"))), 0)
dateBetween(prop("Date 2"), prop("Date"), "days") + if(and(abs(dateBetween(prop("Date"), prop("Date 2"), "days")) != abs(dateBetween(prop("Date 2"), prop("Date"), "days")), prop("Date") > prop("Date 2")), 1 * toNumber(not empty(dateBetween(fromTimestamp(0), fromTimestamp(60000), "days"))), 0)

Le problĂšme formatDate()

<aside> ✅ RĂ©solu


21 mars 2023 - Les ingĂ©nieurs de Notion ont rĂ©solu le problĂšme ✅ bien que le comportement de formateDate() ne soit pas totalement le mĂȘme qu’auparavant.

Il est Ă  nouveau possible de protĂ©ger l’interprĂ©tation avec \\ mais il est dĂ©sormais parfois nĂ©cessaire d’utiliser un quadruple antislash \\\\ pour permettre l’interprĂ©tation aprĂšs avec utilisĂ© \\. En d’autres termes, pour obtenir 12h35min il faut utiliser la formule suivante : formatDate(prop("Date"),"HH\\h\\\\mm\\min")

6 mars 2023 10:00 (UTC+1) - Le problĂšme dateBetween() est associĂ© Ă  un autre concernant formatDate(), apparu en mĂȘme temps.

Lorsqu’on utilise formatDate(), on utilise comme deuxiĂšme argument des lettres qui sont interprĂ©tĂ©es pour prĂ©senter une date sous forme de texte.

formatDate(prop("Date"),"hh:mm") donne par exemple 12:35

Pour Ă©viter qu’une lettre ne soit interprĂ©tĂ©e, il est possible de la protĂ©ger avec \\.

formatDate(prop("Date"),"HH\\hmm\\min") donne ainsi 12h35min

La protection des lettres n’est plus possible ce qui donne un affichage erratique illustrĂ© par la base de donnĂ©es ci-dessous.

</aside>