bretterer / iso_duration_converter
轻松将 ISO_8601 持续时间时间格式转换为秒,并将秒转换为 ISO-8601 持续时间
v0.1.0
2016-02-11 16:37 UTC
This package is auto-updated.
Last update: 2024-09-16 08:59:21 UTC
README
轻松将 ISO 8601 持续时间转换为秒,并将秒转换为 ISO 8601 持续时间
安装
composer require bretterer/iso_duration_converter
使用方法
$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'
年和月
如果将年传递给 parse
方法,将抛出 invalid argument exception
异常。
如果您想将秒转换为月,请在 compose
方法中将第二个参数传递为 true
许可证
MIT