Support for the declaration and manipulation of temporal data was added to the SQL standards in the revision of the standard formally adopted in December 2011 (SQL:2011 and ISO/IEC 9075:2011). Since then support has been added in both DB2 for z/OS (10 onwards) and DB2 for LUW (V10.1 onward). In this article we introduce DB2's temporal support through some practical use cases.
Why 30th not 31st December?
I may have missed it in the article, but I can't see where this was explained.
A quick search hints that DB2 uses 9999-12-30-00.00.00.000000 to indicate that the rows are current rows. (I'm sure it's buried in the manuals somewhere but I haven't found it yet.)
This is the all new IBM "end of the world" date as 9999-12-31 would cause an overflow when certain timezones are applied.