bretterer / iso_duration_converter
Easily convert ISO_8601 Duration time format to seconds and convert seconds to ISO-8601 Duration
Installs: 1 621 221
Dependents: 6
Suggesters: 0
Security: 0
Stars: 27
Watchers: 3
Forks: 1
Open Issues: 0
This package is auto-updated.
Last update: 2024-12-16 09:29:45 UTC
README
Easily converts ISO 8601 Durations to Seconds and Seconds to ISO 8601 Durations
Installation
composer require bretterer/iso_duration_converter
Usage
$converter = new \Bretterer\IsoDurationConverter\DurationParser(); $converter->parse('PT8S'); // Returns 8 $converter->parse('PT5M'); // Returns 300 $converter->parse('PT20H'); // Returns 72000 $converter->parse('PT6M4S'); // Returns 364 $converter->compose(8); // Returns PT8S $converter->compose(300); // Returns PT5M $converter->compose(7200); // Returns PT20H $converter->compose(364); //Returns PT6M4S $converter->parse('P5W'); // Returns 3024000 // To Returns Weeks, The second argument should be true $converter->compose(3024000, true); // Returns P5W $converter->compose(3024000); // Returns P35D $converter->parse('Hello World'); // Throws 'Invalid Argument Exception' with Message 'Invalid Duration' $converter->parse('P10Y10M10D'); // Throws 'Invalid Argument Exception' with Message 'Ambiguous Duration'
Years and Months
If years are passed into the parse
method, an invalid argument exception
will be thrown.
If you are wanting to convert seconds into months, pass true as the second argument in the compose
method
License
MIT