mirror of
https://bitbucket.org/Mattrixwv/luaclasses.git
synced 2025-12-06 18:33:59 -05:00
Added functions to get mintues, hours, and string
This commit is contained in:
@@ -6,7 +6,15 @@
|
|||||||
|
|
||||||
|
|
||||||
--You need some kind of table to hold the times
|
--You need some kind of table to hold the times
|
||||||
Stopwatch = {}
|
Stopwatch = {
|
||||||
|
timeResolution = {
|
||||||
|
microSeconds = 1;
|
||||||
|
milliSeconds = 2;
|
||||||
|
seconds = 3;
|
||||||
|
minutes = 4;
|
||||||
|
hours = 5;
|
||||||
|
};
|
||||||
|
};
|
||||||
Stopwatch.__index = Stopwatch;
|
Stopwatch.__index = Stopwatch;
|
||||||
|
|
||||||
--This is needed to create a Stopwatch and link the variables and functions
|
--This is needed to create a Stopwatch and link the variables and functions
|
||||||
@@ -88,6 +96,26 @@ function Stopwatch:getSeconds()
|
|||||||
return self:getTime();
|
return self:getTime();
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--This function returns the duration the stopwatch has run in minutes
|
||||||
|
function Stopwatch:getMinutes()
|
||||||
|
local timeDifference = self:getTime(); --Get the time that has elapsed
|
||||||
|
--If you did not get an error convert the time to minutes
|
||||||
|
if(timeDifference >= 0) then
|
||||||
|
timerDifference = timeDifference / 60;
|
||||||
|
end
|
||||||
|
return timeDifference;
|
||||||
|
end
|
||||||
|
|
||||||
|
--This function returns the duration the stopwatch has run in hours
|
||||||
|
function Stopwatch:getHours()
|
||||||
|
local timeDifference = self:getTime(); --Get the time that has elapsed
|
||||||
|
--If you did not get an error convert the time to minutes
|
||||||
|
if(timeDifference >= 0) then
|
||||||
|
timerDifference = timeDifference / 3600;
|
||||||
|
end
|
||||||
|
return timeDifference;
|
||||||
|
end
|
||||||
|
|
||||||
--This function returns the duration the stopwatch has run in minutes
|
--This function returns the duration the stopwatch has run in minutes
|
||||||
function Stopwatch:getMinutes()
|
function Stopwatch:getMinutes()
|
||||||
local timeDifference = self:getTime();
|
local timeDifference = self:getTime();
|
||||||
@@ -97,3 +125,51 @@ function Stopwatch:getMinutes()
|
|||||||
end
|
end
|
||||||
return timeDifference;
|
return timeDifference;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function Stopwatch:getString()
|
||||||
|
local timeDifference = self:getTime(); --Get the time that has elapsed
|
||||||
|
local timeResolution = Stopwatch.timeResolution.seconds;
|
||||||
|
local timeString = "";
|
||||||
|
|
||||||
|
--Convert the time to a string with the format XXX.XXX <timeResolution>
|
||||||
|
--The time is returned in seconds. Decide if that as ok or if the resolution needs to go up or down
|
||||||
|
--If there are more than 120 seconds change the time to minutes
|
||||||
|
if(timeDifference > 120) then
|
||||||
|
timeDifference = timeDifference / 60;
|
||||||
|
timeResolution = Stopwatch.timeResolution.minutes;
|
||||||
|
--If there are more than 120 minutes change the time to hours
|
||||||
|
if(timeDifference > 120) then
|
||||||
|
timeDifference = timeDifference / 60;
|
||||||
|
timeResolution = Stopwatch.timeResolution.hours;
|
||||||
|
end
|
||||||
|
|
||||||
|
--If there is less than 1 second change the time to milliseconds
|
||||||
|
elseif(timeDifference < 1) then
|
||||||
|
timeDifference = timeDifference * 1000;
|
||||||
|
timeResolution = Stopwatch.timeResolution.milliSeconds;
|
||||||
|
--If there are is less than 1 millisecond change the time to microseconds
|
||||||
|
if(timeDifference < 1) then
|
||||||
|
timeDifference = timeDifference * 1000;
|
||||||
|
timeResolution = Stopwatch.timeResolution.microSeconds;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
--If the number of seconds is between 1 and 120 just use seconds
|
||||||
|
|
||||||
|
--Create the string
|
||||||
|
if(timeResolution == Stopwatch.timeResolution.microSeconds) then
|
||||||
|
timeString = string.format("%.0f microseconds", timeDifference);
|
||||||
|
elseif(timeResolution == Stopwatch.timeResolution.milliSeconds) then
|
||||||
|
timeString = string.format("%.3f milliseconds", timeDifference);
|
||||||
|
elseif(timeResolution == Stopwatch.timeResolution.seconds) then
|
||||||
|
timeString = string.format("%.3f seconds", timeDifference);
|
||||||
|
elseif(timeResolution == Stopwatch.timeResolution.minutes) then
|
||||||
|
timeString = string.format("%.3f minutes", timeDifference);
|
||||||
|
elseif(timeResoltuion == Stopwatch.timeResolution.hours) then
|
||||||
|
timeString = string.format("%.3f hours", timeDifference);
|
||||||
|
else
|
||||||
|
timeString = "ERROR!";
|
||||||
|
end
|
||||||
|
|
||||||
|
--Return the string
|
||||||
|
return timeString;
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user