Naev

Module time

Bindings for interacting with the time.

Usage is generally something as follows:

 timelimit = time.get() + time.new( 0, 5, 0 )
 player.msg( string.format("You only have %s left!", time.str(time.get() -
 timelimit)) )

-- Do stuff here

if time.get() > time_limit then

-- Limit is up

end

Functions

new (cycles, periods, seconds) Creates a time.
add (t1, t2) Adds two time metatables.
sub (t1, t2) Subtracts two time metatables.
__eq (t1, t2) Checks to see if two time are equal.
__lt (t1, t2) Checks to see if a time is strictly larger than another.
__le (t1, t2) Checks to see if a time is larger or equal to another.
get () Gets the current time in internal representation time.
str (t[, d=2]) Converts the time to a pretty human readable format.
inc (t) Increases or decreases the in-game time.
tonumber (t) Gets a number representing this time.
fromnumber (num) Creates a time from a number representing it.


Functions

new (cycles, periods, seconds)
Creates a time. This can be absolute or relative.

Parameters:

  • cycles number Cycles for the new time.
  • periods number Periods for the new time.
  • seconds number Seconds for the new time.

Returns:

    Time A newly created time metatable.

Usage:

    t = time.new( 591, 3271, 12801 ) -- Gets a time near when the incident
    happened.
    
add (t1, t2)
Adds two time metatables.

Overrides the addition operator.

Parameters:

  • t1 Time Time metatable to add to.
  • t2 Time Time metatable added.

Usage:

  • new_time = time.get() + time.new( 0, 5, 0 ) -- Adds 5 periods to the
     current date
    
  • t:add( time.new( 0, 3, 0 ) ) -- Directly modifies t
    
sub (t1, t2)
Subtracts two time metatables.

Overrides the subtraction operator.

Parameters:

  • t1 Time Time metatable to subtract from.
  • t2 Time Time metatable subtracted.

Usage:

  • new_time = time.get() - time.new( 0, 3, 0 ) -- Subtracts 3 periods
     from the current date
    
  • t:sub( time.new( 0, 3, 0 ) ) -- Directly modifies t
    
__eq (t1, t2)
Checks to see if two time are equal.

It is recommended to check with < and <= instead of ==.

Parameters:

  • t1 Time Time to compare for equality.
  • t2 Time Time to compare for equality.

Returns:

    boolean true if they're equal.

Usage:

    if time.new( 630, 5, 78) == time.get() then -- do something if they
    match
    
__lt (t1, t2)
Checks to see if a time is strictly larger than another.

Parameters:

  • t1 Time Time to see if is is smaller than t2.
  • t2 Time Time see if is larger than t1.

Returns:

    boolean true if t1 < t2

Usage:

    if time.new( 630, 5, 78) < time.get() then -- do something if time is
    past UST 630:0005.78
    
__le (t1, t2)
Checks to see if a time is larger or equal to another.

Parameters:

  • t1 Time Time to see if is is smaller or equal to than t2.
  • t2 Time Time see if is larger or equal to than t1.

Returns:

    boolean true if t1 <= t2

Usage:

    if time.new( 630, 5, 78) <= time.get() then -- do something if time is
    past UST 630:0005.78
    
get ()
Gets the current time in internal representation time.

Returns:

    Time Time in internal representation time.

Usage:

    t = time.get()
    
str (t[, d=2])
Converts the time to a pretty human readable format.

Parameters:

  • t Time Time to convert to pretty format. If omitted, current time is used.
  • d number Decimals to use for displaying seconds (should be between 0 and 5). (default 2)

Returns:

    string The time in human readable format.

Usage:

  • strt = time.str() -- Gets current time
    
  • strt = time.str( nil, 5 ) -- Gets current time with full decimals
    
  • strt = time.str( time.get() + time.new(0,5,0) ) -- Gets time in 5
     periods
    
  • strt = t:str() -- Gets the string of t
    
inc (t)
Increases or decreases the in-game time.

Note that this can trigger hooks and fail missions and the likes.

Parameters:

  • t Time Amount to increment or decrement the time by.

Usage:

    time.inc( time.new(0,0,100) ) -- Increments the time by 100 seconds.
    
tonumber (t)
Gets a number representing this time.

The best usage for this currently is mission variables.

Parameters:

  • t Time Time to get number of.

Returns:

    number Number representing time.

Usage:

    num = t:tonumber() -- Getting the number from a time t
    
fromnumber (num)
Creates a time from a number representing it.

The best usage for this currently is mission variables.

Parameters:

  • num number Number to get time from.

Returns:

    Time Time representing number.

Usage:

    t = time.fromnumber( t:tonumber() ) -- Should get the time t again
    
generated by LDoc 1.5.0 Last updated 2024-12-21 08:10:17