ROS time uses nanosecond granularity. In JavaScript, a Time object consists of sec (seconds) and nsec (nanoseconds) fields.
Use the TimeUtil interface for common time operations:
toDate(Time): Date: Converts a Time to a JS Date (Note: lossy, nanoseconds are lost).fromDate(Date): Time: Creates a Time from a JS Date.compare(left: Time, right: Time): number: Returns positive if left > right, negative if left < right, or 0 if equal. Useful for sorting.isLessThan(left: Time, right: Time): boolean: Checks if left < right.isGreaterThan(left: Time, right: Time): boolean: Checks if left > right.areSame(left: Time, right: Time): boolean: Checks if times are equal.add(left: Time, right: Time): Time: Returns the sum of two times.
interface TimeUtil {
toDate(Time): Date,
fromDate(Date): Time,
compare(left: Time, right: Time): number,
isLessThan(left: Time, right: Time): boolean,
isGreaterThan(left: Time, right: Time): boolean,
areSame(left: Time, right: Time): boolean,
add(left: Time, right: Time): Time,
}