What would be an elegant, efficient and Pythonic way to perform a h/m/s rounding operation on time related types in Python with control over the rounding resolution?
My guess is that it would require a time modulo operation. Illustrative examples:
Relevant time related types I can think of:
datetime.datetime
\ datetime.time
struct_time
If you just want strings, you could remove the trailing seconds with a regex ':\d\d$' .
Python round() Function The round() function returns a floating point number that is a rounded version of the specified number, with the specified number of decimals. The default number of decimals is 0, meaning that the function will return the nearest integer.
For a datetime.datetime rounding, see this function: https://stackoverflow.com/a/10854034/1431079
Sample of use:
print roundTime(datetime.datetime(2012,12,31,23,44,59,1234),roundTo=60*60) 2013-01-01 00:00:00
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With