TEXT is useful for readability in the database with the ability to display directly later (without the need for conversion)
The ISO format is usually not used for display; you must transform it too. (This format is more useful for debugging.)
expensive if you need to perform calculations for them
In databases, the bottleneck is usually I / O. I doubt that you will ever see a query in which the actual format of the date values ​​will have a noticeable difference.
Enters a possible error from time zones.
The TEXT format does not have a time zone specifier, but does not have other formats. If you say that all of your DB values ​​are in UTC, there is no difference.
REAL is useful for dates before 1970.
All formats support all years between 0 and 9999. (Integers can be negative.)
Does not display the time of day, only days.
The time of day is represented as a fractional value.
INTEGER ... very good compatibility, as it is a widely supported standard.
But Java uses milliseconds, not seconds.
Anything else that I have not considered?
The default output format for most of the built-in date functions is TEXT.
Given my use case, which of these solutions would be better?
I would say TEXT, but I don’t think there will be a big difference.