package time
Package Members
- package clock
- package core
This module provides Time Service APIs to access time in Coordinated Universal Time (UTC) and International Atomic Time (TAI) time scales with up to nano second precision when available.
This module provides Time Service APIs to access time in Coordinated Universal Time (UTC) and International Atomic Time (TAI) time scales with up to nano second precision when available.
In order to access current UTC or TAI Time, one could use the TMTTime API.
val utcTime: UTCTime = UTCTime.now() // gets current UTC time utcTime.toTAI // converts the given UTCTime instance to TAI timescale
Similar APIs are available for TAI timescale.
val taiTime: TAITime = TAITime.now() // gets current TAI time taiTime.toUTC // converts the given TAITime instance to UTC timescale
- package scheduler
This module provides implementation for Time Service Scheduler which provides APIs for scheduling periodic and non-periodic tasks in the future, which are optimised for scheduling at up to 1KHz frequency.
This module provides implementation for Time Service Scheduler which provides APIs for scheduling periodic and non-periodic tasks in the future, which are optimised for scheduling at up to 1KHz frequency.
For component developers, the scheduler API is injected in the ComponentHandlers. Hence for them, there is no need to create a csw.time.scheduler.api.TimeServiceScheduler instance.
If you are not using
csw-framework
, you can create an instance like shown below.val scheduler: TimeServiceScheduler = TimeServiceSchedulerFactory.make()(actorSystem)
In addition to the Scheduler API, this module also provides a
csw.time.core.TMTTimeHelper
API which provides additional time zone related functionality on top of csw.time.core.models.TMTTime. It allows users to get ajava.time.ZonedDateTime
representation of a TMTTime.Following is a small sample showing how to access utilities from TMTTimeHelper.
TMTTimeHelper.atLocal(utcTime) TMTTimeHelper.atHawaii(utcTime)