Terwijl ik voor de meeste datetime-bewerkingen normaal gesproken naar Unixtime zou converteren en optellen, aftrekken enz. zou uitvoeren op het Unixtime-geheel getal, wil je misschien kijken naar de Zend-framework Zend_Date-klasse.
Dit heeft veel van de functionaliteit die u beschrijft. Hoewel Zend wordt gefactureerd als een "raamwerk", werkt het uitzonderlijk goed als een klassenbibliotheek om elementen uit te kiezen en te kiezen. We nemen het routinematig op in projecten en halen er dan gewoon stukjes bij als en wanneer we ze nodig hebben.