Jan 23, 2023 01:23 AM - edited Jan 23, 2023 01:43 AM
Either I've stumbled upon a great bug or I'm a complete idiot. If history is anything to go by let's assume the latter.
In a greater context I'm using a formula to check if TODAY() is in the range of some dates.
Sometimes the date is from an automatic Created Time field, other times it's from a regular date field.
When I check the Created Time (doesn't matter if the field is with out without a timestamp) on a record created moment ago against TODAY() I get a false.
I used it in a long formula, but boiled down to it's minimum it just doesn't work.
IF(TODAY()={Created Time},"1","0")
The above returns 0 on a record created 15 minutes ago.
If I ask it to check a date field with today's date inserted, then it returns 1.
What's going on and how can I work around this?
Solved! Go to Solution.
Jan 23, 2023 01:56 AM
Hi @n0xp
The TODAY() returns today date which will look likely like this:
Which is technically a string like this 2023-01-23T00:00:00.000Z
You can wrap both dates in:
Jan 23, 2023 01:56 AM
Hi @n0xp
The TODAY() returns today date which will look likely like this:
Which is technically a string like this 2023-01-23T00:00:00.000Z
You can wrap both dates in:
Jan 23, 2023 02:03 AM
YES! Thank you very much for the workaround.
But logically that's such a mess.
Is there any reason why this issue shouldn't be fixed to meet the immediate expectation?
Jan 23, 2023 06:47 AM - edited Jan 23, 2023 06:48 AM
@n0xp it is just computers being very computers and very correct.
Each Date field in Airtable is technically a Datetime field, so that user can choose abstraction level they want - just the Date or Date with time. There is no pure Date field. Technically - there is also no such thing as pure Date - just humans ignoring the specific time of the day when an event happened.
It is a good thing to remember that underlying data in Airtable can more precise than formatting displayed (same case can be with Number and currency rounding).