Какой самый простой и правильный способ округлить время и дату и время в XPath?
Например, как определить функцию local:round-time-to-minutes
таким образом, чтобы следующий тест-кейс:
let $t1 := xs:time( "12:58:37" )
let $t2 := local:round-time-to-minutes( $t1 )
return format-time( $t2, '[H01]:[m01]:[s01]' )
вернет "12:59:00"
.
Не уверен, что лучше в случае «23:59:31» - вернуть «00:00:00» или вызвать динамическую ошибку.
И похожая функция local:round-datetime-to-minutes
для обработки dateTime?
(у него нет такого крайнего случая, как указано выше)
Пусть эти функции используют правило «округлить половину до положительной бесконечности», где половина равна 30,0 секундам.