Ceil a datetime to next quarter of an hour

This one takes microseconds into account! import math def ceil_dt(dt): # how many secs have passed this hour nsecs = dt.minute*60 + dt.second + dt.microsecond*1e-6 # number of seconds to next quarter hour mark # Non-analytic (brute force is fun) way: # delta = next(x for x in xrange(0,3601,900) if x>=nsecs) – nsecs # analytic … Read more

Get ceiling integer from number in linux (BASH)

Why use external script languages? You get floor by default. To get ceil, do $ divide=8; by=3; (( result=(divide+by-1)/by )); echo $result 3 $ divide=9; by=3; (( result=(divide+by-1)/by )); echo $result 3 $ divide=10; by=3; (( result=(divide+by-1)/by )); echo $result 4 $ divide=11; by=3; (( result=(divide+by-1)/by )); echo $result 4 $ divide=12; by=3; (( result=(divide+by-1)/by … Read more

How to ceil, floor and round bcmath numbers?

After a night lost trying to solve this problem I believe I’ve found a rather simple solution, here it is: function bcceil($number) { if (strpos($number, ‘.’) !== false) { if (preg_match(“~\.[0]+$~”, $number)) { return bcround($number, 0); } if ($number[0] != ‘-‘) { return bcadd($number, 1, 0); } return bcsub($number, 0, 0); } return $number; } … Read more