Mens jeg for de fleste datetime-operationer normalt ville konvertere til Unixtime og udføre additionssubtraktion osv. på Unixtime-heltallet, vil du måske se på Zend-framework Zend_Date-klassen.
Dette har meget af den funktionalitet, du beskriver. Selvom Zend er faktureret som et "rammeværk", fungerer det usædvanligt godt som et klassebibliotek at vælge og vrage elementer fra. Vi inddrager det rutinemæssigt i projekter og trækker så bare ind, når og når vi har brug for dem.