|
|
(3 intermediate revisions by the same user not shown) |
Line 2: |
Line 2: |
|
| |
|
| local Number = require('Module:Number') | | local Number = require('Module:Number') |
| | local TimeSpan = require('Module:TimeSpan') |
|
| |
|
| function p._secondsToHMS(totalSeconds) | | function p._secondsToHMS(totalSeconds) |
Line 18: |
Line 19: |
|
| |
|
| function p.secondsToHuman(frame) | | function p.secondsToHuman(frame) |
| local frame = frame or mw.getCurrentFrame() | | local args = frame.args ~= nil and frame.args or frame |
| local args = frame:getParent().args
| | return p._secondsToHuman(args[1]) |
| return p._secondsToHuman(args[0]) | |
| end
| |
| | |
| -- Creates a TimeSpan object from a total amount of seconds.
| |
| function p.secondsToTimeSpan(totalSeconds)
| |
| return p.actionTimeToTimeSpan(totalSeconds * 100)
| |
| end
| |
| | |
| --- Creates a TimeSpan object from action time (hundreds of a second).
| |
| -- @param str (number) The amount of action time to convert to a TimeSpan
| |
| -- @return (TimeSpan) A TimeSpan object containing the seconds, minutes, hours and days the input amount of action time amounts to.
| |
| function p.actionTimeToTimeSpan(totalActionTime)
| |
| local days = math.floor(totalActionTime / 8640000)
| |
| local remainder = totalActionTime % 8640000
| |
| | |
| local hours = math.floor(remainder / 360000)
| |
| remainder = remainder % 360000
| |
| | |
| local minutes = math.floor(remainder / 6000)
| |
| remainder = remainder % 6000
| |
|
| |
| local seconds = math.floor(remainder / 100)
| |
| | |
| return {
| |
| days = days,
| |
| hours = hours,
| |
| minutes = minutes,
| |
| seconds = seconds,
| |
|
| |
| totalDays = totalActionTime / 8640000,
| |
| totalHours = totalActionTime / 360000,
| |
| totalMinutes = totalActionTime / 6000,
| |
| totalSeconds = totalActionTime / 100
| |
| }
| |
| end | | end |
|
| |
|
| return p | | return p |