# Time¶

UCloud provides a Time object which should be used for all actions which require a timestamp. The timestamps used in UCloud are always returned as time expressed as milliseconds since the time 00:00:00 UTC on January 1, 1970.

Example: Retrieving the current time

val timestamp = Time.now()


## object Time : TimeProvider¶

Properties:

var provider: TimeProvider = SystemTimeProvider


Changing the provider allows you to mock the time. This is extremely useful for testing time-releated code. You should never change the provider in UCloud production code.

Member functions:

fun TimeProvider.now(): Long


Returns the current time expressed as milliseconds since the time 00:00:00 UTC on January 1, 1970. See also System.currentTimeMillis.

## object SystemTimeProvider : TimeProvider¶

Provides the default time provider. This delegates to System.currentTimeMillis().

## object StaticTimeProvider : TimeProvider¶

Provides a TimeProvider which has a static value which can be changed by the user.

Properties:

var time: Long = 0L


The time property will be returned every time some code calls StaticTimeProvider.now(). No synchronization is done on this property.