23.08.2016, 16:18
ReturnTimelapse
Returns a string. String contains the time elapsed between the start and till timestamps.
Example:
Returns a string. String contains the time elapsed between the start and till timestamps.
pawn Code:
stock ReturnTimelapse(start, till)
{
new seconds = till - start;
const MINUTE = 60;
const HOUR = 60 * MINUTE;
const DAY = 24 * HOUR;
const MONTH = 30 * DAY;
new time[32];
if (seconds == 1)
format(time, sizeof (time), "A seconds ago");
if (seconds < (1 * MINUTE))
format(time, sizeof (time), "%i seconds ago", seconds);
else if (seconds < (2 * MINUTE))
format(time, sizeof (time), "A minute ago");
else if (seconds < (45 * MINUTE))
format(time, sizeof (time), "%i minutes ago", (seconds / MINUTE));
else if (seconds < (90 * MINUTE))
format(time, sizeof (time), "An hour ago");
else if (seconds < (24 * HOUR))
format(time, sizeof (time), "%i hours ago", (seconds / HOUR));
else if (seconds < (48 * HOUR))
format(time, sizeof (time), "Yesterday");
else if (seconds < (30 * DAY))
format(time, sizeof (time), "%i days ago", (seconds / DAY));
else if (seconds < (12 * MONTH))
{
new months = floatround(seconds / DAY / 30);
if (months <= 1)
format(time, sizeof (time), "One month ago");
else
format(time, sizeof (time), "%i months ago", months);
}
else
{
new years = floatround(seconds / DAY / 365);
if (years <= 1)
format(time, sizeof (time), "One year ago");
else
format(time, sizeof (time), "%i years ago", years);
}
return time;
}
pawn Code:
print(ReturnTimelapse(gettime(), gettime() + 60)); // Result: "A minute ago"
pawn Code:
print(ReturnTimelapse(gettime(), gettime() + 15)); // Result: "15 seconds ago"
pawn Code:
print(ReturnTimelapse(gettime(), gettime() + 3600)); // Result: "An hour ago"