Re: [RFC] Duration class

From: Date: Mon, 22 Jun 2026 19:03:37 +0000
Subject: Re: [RFC] Duration class
References: 1 2 3 4 5 6 7 8  Groups: php.internals 
Request: Send a blank email to internals+get-131479@lists.php.net to get a copy of this message
Hi Paul I don't think I've seen your name on the list before. If this indeed your first email here: Welcome and thank you for contributing! Am 2026-06-22 20:52, schrieb Paweł Kraśnicki:
For reference, brick/date-time's Duration class also allows seconds to be negative instead of storing a separate flag:
Note that brick/date-time is as per the README (very) closely modeled after Java’s implementation, except for necessary differences to fit the API in PHP:
This component follows an important part of the JSR 310 (Date and Time API) specification from Java. Don't expect an exact match of class and method names though, as a number of differences exist for technical or practical reasons.
So taking inspiration from that implementation is effectively taking inspiration from Java’s implementation.
The nanoseconds are always non-negative, so a duration of negative half a second would be stored as -1 seconds and 500,000,000 nanoseconds.
Yes, this matches Java’s implementation. I've explained in https://news-web.php.net/php.internals/131466, why I don’t consider this representation to be intuitive or easy to use. Best regards Tim Düsterhus

« previous php.internals (#131479) next »