GetRealTime: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
Line 105: Line 105:
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function func_get_timestamp_server()
function func_get_timestamp_server()
local second = getRealTime().timestamp
    local second = getRealTime().timestamp
local day = math.ceil(tonumber((second / 86400) - 18250))
    local day = math.ceil(tonumber((second / 86400) - 18250))
local hour = math.ceil(tonumber(day * 24))
    local hour = math.ceil(tonumber(day * 24))
return day, hour
    return day, hour
end
end
</syntaxhighlight>
</syntaxhighlight>

Revision as of 17:10, 16 April 2021

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.

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
	-- Make sure to add a 0 to the front of single digits.
	if (hours < 10) then
		hours = "0"..hours
	end
	if (minutes < 10) then
		minutes = "0"..minutes
	end
	if (seconds < 10) then
		seconds = "0"..seconds
	end
	outputChatBox ( "Local Time: "..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)

Example

Time report from 2020

function func_get_timestamp_server()
    local second = getRealTime().timestamp
    local day = math.ceil(tonumber((second / 86400) - 18250))
    local hour = math.ceil(tonumber(day * 24))
    return day, hour
end

By RIGZI

Changelog

Version Description
1.4.0-9.06976 Added localTime argument

See Also