Could always floor instead of rounding.
He could. But if Mahz did that, then Phantomlink probably wouldn't have observed the timestamp reporting 24 hours, unless Mahz is doing something more complicated.
/me is not a programmer
/me only knows 24= 1 day, 24< i not a day
Ok. 23.5 hours rounds up to 24 hours. But, as you mentioned, 23.5 hours is not a day. Hence a possible reason why you're seeing both 24 hours and 1 day in the timestamp.
I'll delve into the guild code to see if I can find what's going on.
EDIT: I found it. He's using a little plugin for it called timeago.
var words = seconds < 45 && substitute($l.seconds, Math.round(seconds)) ||
seconds < 90 && substitute($l.minute, 1) ||
minutes < 45 && substitute($l.minutes, Math.round(minutes)) ||
minutes < 90 && substitute($l.hour, 1) ||
hours < 24 && substitute($l.hours, Math.round(hours)) ||
hours < 42 && substitute($l.day, 1) ||
days < 30 && substitute($l.days, Math.round(days)) ||
days < 45 && substitute($l.month, 1) ||
days < 365 && substitute($l.months, Math.round(days / 30)) ||
years < 1.5 && substitute($l.year, 1) ||
substitute($l.years, Math.round(years));Key point is that, if time is less than 24 hours, it displays time in hours, rounded to the nearest hour. If time is equal to or greater than 24 hours, it will display time in days (or greater units)

