Zatímco u většiny operací typu datetime bych normálně převáděl na Unixtime a prováděl sčítání atd. na celém Unixtime celém čísle, možná se budete chtít podívat na třídu Zend_Date frameworku Zend.
Má mnoho funkcí, které popisujete. Ačkoli je Zend účtován jako „rámec“, funguje výjimečně dobře jako knihovna tříd, ze které lze vybírat a vybírat prvky. Běžně to zařazujeme do projektů a pak jen přitahujeme kousky, když je potřebujeme.