Skip to content

Class: CTime ​

Mutable game calendar/time value.

Use game.get_game_time() for the current in-game time and time_global() for real elapsed milliseconds.

Source ​

C++ class CTime

Custom Constructor ​

game.CTime

Remarks ​

Methods such as add, sub, set, and setHMS mutate the current instance. The engine registers the class only in the game module, so new CTime() compiles to game.CTime().

Extends ​

Constructors ​

Constructor ​

ts
new CTime(): CTime;

Create an empty time value.

Returns ​

CTime

Overrides ​

EngineBinding.constructor

Constructor ​

ts
new CTime(time: CTime): CTime;

Copy another time value.

Parameters ​

ParameterTypeDescription
timeCTimeTime value to copy.

Returns ​

CTime

Overrides ​

ts
EngineBinding.constructor

Methods ​

add() ​

ts
add(time: CTime): void;

Add another time value to this one.

Parameters ​

ParameterTypeDescription
timeCTimeTime span to add.

Returns ​

void


dateToString() ​

ts
dateToString(mode: number): string;

Format one date component as text.

Parameters ​

ParameterTypeDescription
modenumberOne of CTime.DateTo* formatting constants.

Returns ​

string

Requested date component.


diffSec() ​

ts
diffSec(time: CTime): number;

Get difference from another game time in seconds.

Parameters ​

ParameterTypeDescription
timeCTimeTime to compare with.

Returns ​

number

Difference in seconds.


get() ​

ts
get(
   y: number, 
   m: number, 
   d: number, 
   h: number, 
   min: number, 
   sec: number, 
ms: number): LuaMultiReturn<[number, number, number, number, number, number, number]>;

Read all date and time components.

The input values are placeholders for Lua out parameters.

Parameters ​

ParameterType
ynumber
mnumber
dnumber
hnumber
minnumber
secnumber
msnumber

Returns ​

LuaMultiReturn<[number, number, number, number, number, number, number]>

Year, month, day, hour, minute, second, and millisecond.


set() ​

ts
set(
   y: number, 
   m: number, 
   d: number, 
   h: number, 
   min: number, 
   sec: number, 
   ms: number): void;

Replace all date and time components.

Parameters ​

ParameterTypeDescription
ynumberYear.
mnumberMonth.
dnumberDay.
hnumberHour.
minnumberMinute.
secnumberSecond.
msnumberMillisecond.

Returns ​

void


setHMS() ​

ts
setHMS(
   h: number, 
   m: number, 
   s: number): void;

Replace time of day.

Parameters ​

ParameterTypeDescription
hnumberHour.
mnumberMinute.
snumberSecond.

Returns ​

void


setHMSms() ​

ts
setHMSms(
   h: number, 
   m: number, 
   s: number, 
   ms: number): void;

Replace time of day including milliseconds.

Parameters ​

ParameterTypeDescription
hnumberHour.
mnumberMinute.
snumberSecond.
msnumberMillisecond.

Returns ​

void


sub() ​

ts
sub(time: CTime): void;

Subtract another time value from this one.

Parameters ​

ParameterTypeDescription
timeCTimeTime span to subtract.

Returns ​

void

Remarks ​

The result is clamped at zero when time is greater than the current value.


timeToString() ​

ts
timeToString(mode: number): string;

Format one time component as text.

Parameters ​

ParameterTypeDescription
modenumberOne of CTime.TimeTo* formatting constants.

Returns ​

string

Requested time component.

Properties ​

__name ​

ts
readonly __name: string;

LuaBind instance constructor name.

Inherited from ​

EngineBinding.__name


__name ​

ts
readonly static __name: string;

LuaBind class constructor name.

Inherited from ​

EngineBinding.__name


DateToDay ​

ts
readonly static DateToDay: 0;

Date formatting mode: day.


DateToMonth ​

ts
readonly static DateToMonth: 1;

Date formatting mode: month.


DateToYear ​

ts
readonly static DateToYear: 2;

Date formatting mode: year.


TimeToHours ​

ts
readonly static TimeToHours: 0;

Time formatting mode: hours.


TimeToMilisecs ​

ts
readonly static TimeToMilisecs: 3;

Time formatting mode: milliseconds.


TimeToMinutes ​

ts
readonly static TimeToMinutes: 1;

Time formatting mode: minutes.


TimeToSeconds ​

ts
readonly static TimeToSeconds: 2;

Time formatting mode: seconds.