Module:TimeSpan/doc
This is the documentation page for Module:TimeSpan
TimeSpan Module Documentation
The 'TimeSpan' module provides functionality for working with time spans in Lua.
Constructor
TimeSpan.new(days, hours, minutes, seconds, milliseconds)
Creates a new 'TimeSpan' object representing the specified time components.
- Parameters:
* `'days'`: Number of days (default: `0`). * `'hours'`: Number of hours (default: `0`). * `'minutes'`: Number of minutes (default: `0`). * `'seconds'`: Number of seconds (default: `0`). * `'milliseconds'`: Number of milliseconds (default: `0`).
- Returns: 'TimeSpan' object.
TimeSpan.fromSeconds(seconds)
Creates a new 'TimeSpan' object from a total number of seconds.
- Parameters:
* `'seconds'`: Total number of seconds.
- Returns: 'TimeSpan' object representing the specified duration in seconds.
TimeSpan.fromMilliseconds(milliseconds)
Creates a new 'TimeSpan' object from a total number of milliseconds.
- Parameters:
* `'milliseconds'`: Total number of milliseconds.
- Returns: 'TimeSpan' object representing the specified duration in milliseconds.
Methods
TimeSpan:getDays()
Gets the number of days in the 'TimeSpan'.
- Returns: Number of days as an integer.
TimeSpan:getHours()
Gets the number of hours (not including days) in the 'TimeSpan'.
- Returns: Number of hours as an integer.
TimeSpan:getMinutes()
Gets the number of minutes (not including hours or days) in the 'TimeSpan'.
- Returns: Number of minutes as an integer.
TimeSpan:getSeconds()
Gets the number of seconds (not including minutes, hours, or days) in the 'TimeSpan'.
- Returns: Number of seconds as an integer.
TimeSpan:getMilliseconds()
Gets the number of milliseconds (not including seconds, minutes, hours, or days) in the 'TimeSpan'.
- Returns: Number of milliseconds as an integer.
TimeSpan:totalDays()
Gets the total number of days represented by the 'TimeSpan' (including fractional days).
- Returns: Total number of days as a floating-point number.
TimeSpan:totalHours()
Gets the total number of hours represented by the 'TimeSpan' (including fractional hours).
- Returns: Total number of hours as a floating-point number.
TimeSpan:totalMinutes()
Gets the total number of minutes represented by the 'TimeSpan' (including fractional minutes).
- Returns: Total number of minutes as a floating-point number.
TimeSpan:totalSeconds()
Gets the total number of seconds represented by the 'TimeSpan' (including fractional seconds).
- Returns: Total number of seconds as a floating-point number.
TimeSpan:totalMilliseconds()
Gets the total number of milliseconds represented by the 'TimeSpan' (including fractional milliseconds).
- Returns: Total number of milliseconds as a floating-point number.
TimeSpan:toString()
Converts the 'TimeSpan' object to a string representation.
- Returns: String representation of the 'TimeSpan' in the format `'d.hh:mm:ss.fff'`, where `'d'` is days, `'hh'` is hours, `'mm'` is minutes, `'ss'` is seconds, and `'fff'` is milliseconds.
Example Usage
To use the 'TimeSpan' module in your Lua scripts, follow these examples:
local TimeSpan = require('TimeSpan')
-- Create a new TimeSpan representing 1 day, 2 hours, 30 minutes, 15 seconds, and 500 milliseconds
local ts = TimeSpan.new(1, 2, 30, 15, 500)
-- Get the string representation of the TimeSpan
local tsString = ts:toString()
-- Output the TimeSpan string representation
print(tsString) -- Output: "1.02:30:15.500"
-- Get specific components of the TimeSpan
local days = ts:getDays()
local hours = ts:getHours()
local minutes = ts:getMinutes()
local seconds = ts:getSeconds()
local milliseconds = ts:getMilliseconds()
-- Output the TimeSpan components
print("Days:", days) -- Output: 1
print("Hours:", hours) -- Output: 2
print("Minutes:", minutes) -- Output: 30
print("Seconds:", seconds) -- Output: 15
print("Milliseconds:", milliseconds) -- Output: 500
-- Get the total number of hours represented by the TimeSpan
local totalHours = ts:totalHours()
print("Total Hours:", totalHours) -- Output: 26.507638888889
-- Get the total number of minutes represented by the TimeSpan
local totalMinutes = ts:totalMinutes()
print("Total Minutes:", totalMinutes) -- Output: 1590.4583333333