GetRealTime: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(format the string to two digits with a proper programming standard)
 
(8 intermediate revisions by 6 users not shown)
Line 58: Line 58:
|
|
|}
|}
* ''second'' is generally 0-59. Extra range to accommodate for leap seconds in certain systems.
''* second'' is generally 0-59. Extra range to accommodate for leap seconds in certain systems.
 
==Remarks==
The '''seconds''' parameter can be left out entirely while still using the '''localTime''' parameter. To achieve that simply pass the boolean localTime parameter as first argument where you would otherwise pass the '''seconds''' parameter. This way you can retrieve a current timepoint that is not denoted in local time.


==Example==
==Example==
This example adds 'showtime' like the default MTA 'time' command:
This example adds 'showtime' like the default MTA 'time' command:
<syntaxhighlight lang="lua">
function showtime ()
    local time = getRealTime()
    local hours = time.hour
    local minutes = time.minute
    local seconds = time.second
    -- use string.format to keep it 2 digits. eg 1 will be converted to 01
    outputChatBox ( string.format("Local Time: %02d:%02d:%02d",  hours, minutes, seconds) )
end
addCommandHandler("showtime", showtime)
</syntaxhighlight>
Example with year, month, monthday using string.format:
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function showtime ()
function showtime ()
Line 68: Line 85:
local minutes = time.minute
local minutes = time.minute
local seconds = time.second
local seconds = time.second
-- Make sure to add a 0 to the front of single digits.
 
if (hours < 10) then
        local monthday = time.monthday
hours = "0"..hours
local month = time.month
end
local year = time.year
if (minutes < 10) then
 
minutes = "0"..minutes
        local formattedTime = string.format("%04d-%02d-%02d %02d:%02d:%02d", year + 1900, month + 1, monthday, hours, minutes, seconds)
end
outputChatBox ( "Local Time: ".. formattedTime )
if (seconds < 10) then
seconds = "0"..seconds
end
outputChatBox ( "Local Time: "..hours..":"..minutes..":"..seconds )
end
end
addCommandHandler("showtime", showtime)
addCommandHandler("showtime", showtime)

Latest revision as of 22:36, 26 August 2022

This function gets the server or client (if used client sided it returns time as set on client's computer) real time and returns it in a table. If you want to get the in-game time (shown on GTA's clock) use getTime.

Syntax

table getRealTime( [ int seconds = current, bool localTime = true ] )

Optional Arguments

  • seconds: A count in seconds from the year 1970. Useful for storing points in time, or for retrieving time information for getBanTime. The valid range of this argument is 0 to 32,000,000,000
  • localTime: Set to true to adjust for the locally set timezone.

Returns

Returns a table of substrings with different time format or false if the seconds argument is out of range.

Member Meaning Range
second seconds after the minute 0-61*
minute minutes after the hour 0-59
hour hours since midnight 0-23
monthday day of the month 1-31
month months since January 0-11
year years since 1900
weekday days since Sunday 0-6
yearday days since January 1 0-365
isdst Daylight Saving Time flag
timestamp seconds since 1970 (Ignoring set timezone)

* second is generally 0-59. Extra range to accommodate for leap seconds in certain systems.

Remarks

The seconds parameter can be left out entirely while still using the localTime parameter. To achieve that simply pass the boolean localTime parameter as first argument where you would otherwise pass the seconds parameter. This way you can retrieve a current timepoint that is not denoted in local time.

Example

This example adds 'showtime' like the default MTA 'time' command:

function showtime ()
    local time = getRealTime()
    local hours = time.hour
    local minutes = time.minute
    local seconds = time.second

    -- use string.format to keep it 2 digits. eg 1 will be converted to 01
    outputChatBox ( string.format("Local Time: %02d:%02d:%02d",  hours, minutes, seconds) )
end
addCommandHandler("showtime", showtime)

Example with year, month, monthday using string.format:

function showtime ()
	local time = getRealTime()
	local hours = time.hour
	local minutes = time.minute
	local seconds = time.second

        local monthday = time.monthday
	local month = time.month
	local year = time.year

        local formattedTime = string.format("%04d-%02d-%02d %02d:%02d:%02d", year + 1900, month + 1, monthday, hours, minutes, seconds)
	outputChatBox ( "Local Time: ".. formattedTime )
end
addCommandHandler("showtime", showtime)

Changelog

Version Description
1.4.0-9.06976 Added localTime argument

See Also