GetTimestamp

From Multi Theft Auto: Wiki

Jump to: navigation, search

With this function you can get the UNIX timestamp.

Syntax

int getTimestamp( [ int year = getRealTime().year + 1900, int month = getRealTime().month + 1, int day = getRealTime().day, int hour = getRealTime().hour, minute = getRealTime().minute, int second = getRealTime().second ] )

Optional Arguments

NOTE: When using optional arguments, you must supply all arguments before the one you wish to use. For more information on optional arguments, see Optional Arguments.

  • year: The year of the date you want to retrieve the UNIX timestamp of. Default is your local year. Must be greater than 1969.
  • month: The month of the date you want to retrieve the UNIX timestamp of. Default is your local month. (1-12)
  • day: The day of the date you want to retrieve the UNIX timestamp of. Default is your local day. (1-31)
  • hour: The hour of the date you want to retrieve the UNIX timestamp of. Default is your local hour. (0-23)
  • minute: The minute of the date you want to retrieve the UNIX timestamp of. Default is your local minute. (0-59)
  • second: The second of the date you want to retrieve the UNIX timestamp of. Default is your local second. (0-59)

Returns

Returns an UNIX timestamp.

Code

NOTE: This function requires function isLeapYear in order to work correctly.
Click to collapse [-]
Client- and/or serverside Script

function getTimestamp(year, month, day, hour, minute, second)
    -- initiate variables
    local monthseconds = { 2678400, 2419200, 2678400, 2592000, 2678400, 2592000, 2678400, 2678400, 2592000, 2678400, 2592000, 2678400 }
    local timestamp = 0
    local datetime = getRealTime()
    year, month, day = year or datetime.year + 1900, month or datetime.month + 1, day or datetime.monthday
    hour, minute, second = hour or datetime.hour, minute or datetime.minute, second or datetime.second
 
    -- calculate timestamp
    for i=1970, year-1 do timestamp = timestamp + (isLeapYear(i) and 31622400 or 31536000) end
    for i=1, month-1 do timestamp = timestamp + ((isLeapYear(year) and i == 2) and 2505600 or monthseconds[i]) end
    timestamp = timestamp + 86400 * (day - 1) + 3600 * hour + 60 * minute + second
 
    timestamp = timestamp - 3600 --GMT+1 compensation
    if datetime.isdst then timestamp = timestamp - 3600 end
 
    return timestamp
end

Example

Click to collapse [-]
Server

This example saves the time of the player's joining.

-- define the event handler
addEventHandler("onPlayerJoin", root, function ()
    -- get the actual UNIX timestamp
    local datetime = getTimestamp()
    -- attach the time to the player's element
    setElementData(source, "joinTime", datetime)
end)

Author: NeonBlack

See Also

  • callClientFunction » This function allows you to call any clientside function from the server's side.
  • callServerFunction » This function allows you to call any server-side function from the client's side.
  • centerWindow » This function center the window in any resolution.
  • Check » This function checks if it's arguments are of the right types and calls the error-function if one isn't.
  • convertNumber » This function converts large numbers and adds commas to it. (Example: 100000 -> 100,000)
  • coroutine.resume » Fix for hidden coroutine error messages
  • dxDrawColorText » This function draws a dx text with #RRGGBB color codes support.
  • dxDrawGifImage » This function simulates the effect of a GIF image by using image sprites.
  • dxDrawImage3D » This function draws a 3D image.
  • dxDrawRectangle3D » This function draws a 3D rectangle.
  • dxGetFontSizeFromHeight » This function calculate a font size from given height for dxDraw.
  • dxGetRealFontHeight » Accurately measures the pixel height of a font.
  • findRotation » Takes two points and returns the direction from point A to point B.
  • FormatDate » Formats a date on the basis of a format string and returns it.
  • GenerateString » With this function you can generate a random string with any characters.
  • getAge » This function calculates the age of a birthday.
  • getAlivePlayers » This function returns all the alive players by a client side, so you can store them into a Gridlist or something like that, faster.
  • getAlivePlayersInTeam » This function returns a table of the alive players in a team.
  • getCursorMoveOn » This function checks in which way the cursor is currently moving.
  • getDistanceBetweenPointAndSegment2D » Takes point coordinates and line (a segment) starting and ending coordinates. It returns the shortest distance between the point and the line.
  • getElementSpeed » This function allows you to get element speed in kph or mph units.
  • getJetpackWeaponsEnabled » This function returns a table of enabled weapons usable on a jetpack.
  • getOffsetFromXYZ » This function allows you to take an entity and a position and calculate the relative offset between them accounting for rotations.
  • getOnlineAdmins » This function will give the online admins.
  • getOnlineStaff » Returns all online staff, names separated by two spaces.
  • getPlayersByData » This function gets players who have data name you passed to it.
  • getPlayerFromNamePart » This function allows you to get player From his Name part.
  • getPlayersInPhotograph » This function gets all the players in a photograph.
  • getPlayerFromSerial » This function gets an online player from their serial.
  • getPointFromDistanceRotation » Finds a point based on a starting point, direction and distance.
  • getResourceSettings » This function returns a table of the resource settings.
  • getTeamFromColor » This function gets a team from it's color. (Related to: getTeamFromName)
  • getTimestamp » With this function you can get the UNIX timestamp.
  • getXMLNodes » Returns all children of a node
  • getVehicleRespawnPosition » This function allows you to get the spawn position of a vehicle.
  • guiComboBoxAdjustHeight » Adjusts the combobox to have a correct height.
  • IfElse » Returns one of two values based on a boolean expression.
  • isElementInPhotograph » This function checks if an element was in the player's camera picture.
  • isElementInRange » This function allows you to check is the element's range to the main point is smaller than (or as big as) the maximum range.
  • isElementMoving» This function checks if an element is moving.
  • isPedAiming» This function checks if a ped is aiming.
  • isPlayerInTeam » This function check if the player in the team.
  • isLeapYear » Checks if the given year is a leap year.
  • isVehicleOnRoof » This function checks whether vehicle is on roof.
  • iterElements » Returns an iterator for your for loops saving time typing ipairs( getElementsByType( type ) ), instead you type: iterElements( type ).
  • mathNumber » This function is a workaround for the clientside floating-point precision of 24-bits
  • math.round » Rounds a number whereas the number of decimals to keep and the method may be set.
  • multi_check » This function checks one element to many, handy and clean.
  • onVehicleWeaponFire » This code implements an event that is triggered when a player in a vehicle fires a vehicles weapon.
  • RGBToHex » This function returns a string representing the color in hexadecimal.
  • setElementSpeed » This function allows you to set moving element speed in kph or mph units.
  • setTableProtected » Protects a table and makes it read-only.
  • setVehicleGravityPoint » This clientside function sets a vehicle's gravity in the direction of a 3 dimensional coordinate with the strength specified.
  • smoothMoveCamera » This clientside function allows you to create a cinematic camera flight.
  • string.count » This function counts a text from a text.
  • string.explode » This function splits a string at a given separator pattern and returns a table with the pieces.
  • switch » This function allow the value of a variable or expression to control the flow of program execution via a multiway branch.
  • table.copy » This function copies a whole table and all the tables in that table.
  • table.compare » This function check if both tables is equal.
  • table.empty » This function check is empty table or not.
  • table.map » This function goes through a table and replaces every field with the return of the passed function, where the field's value is passed as first argument and optionally more arguments.
  • table.random » This function retrieves a random variable from a table.
  • table.size » Finds the absolute size of a table.
  • toHex » This function converts a decimal number to a hexadecimal number, as a fix to be used clientside.
  • var dump » This function outputs information about one or more variables using outputConsole()
  • wavelengthToRGBA » This function converts a phisical wavelength of light to a RGBA color.