-
- All Implemented Interfaces:
public class TimeUtilsProvides utility methods for converting between different time formats. Two of the methods are taken from the Apache Commons Net package, and are copied here to avoid pulling in the whole package as a dependency.
-
-
Method Summary
Modifier and Type Method Description static longtoNtpTime(long t)Taken from from org.apache.commons.net.ntp.TimeStamp#toNtpTime(long) Converts Java time to 64-bit NTP time representation. static longgetTime(long ntpTimeValue)Taken from from org.apache.commons.net.ntp.TimeStamp#toNtpTime(long) Convert 64-bit NTP timestamp to Java standard time. static longtoNtpShortFormat(long ntpTime)Converts the given timestamp in NTP Timestamp Format into NTP Short Format (see "http://tools.ietf. static longntpShortToMs(long ntpShortTime)Converts a timestamp in NTP Short Format (Q16. static longconstructNtp(long msw, long lsw)Constructs a longrepresentation of a timestamp in NTP Timestamp Format (see "http://tools.ietf.static longgetMsw(long ntpTime)Gets the most significant word (32bits) from an NTP Timestamp represented as a long. static longgetLsw(long ntpTime)Gets the least significant word (32bits) from an NTP Timestamp represented as a long. static StringformatTimeAsFullMillis(long secs, int nanos)Formats a time -- represented by (long seconds, int nanos) -- as a String of floating-point milliseconds, in full precision. -
-
Method Detail
-
toNtpTime
static long toNtpTime(long t)
Taken from from org.apache.commons.net.ntp.TimeStamp#toNtpTime(long) Converts Java time to 64-bit NTP time representation.
- Parameters:
t- Java time
-
getTime
static long getTime(long ntpTimeValue)
Taken from from org.apache.commons.net.ntp.TimeStamp#toNtpTime(long) Convert 64-bit NTP timestamp to Java standard time. Note that java time (milliseconds) by definition has less precision then NTP time (picoseconds) so converting NTP timestamp to java time and back to NTP timestamp loses precision. For example, Tue, Dec 17 2002 09:07:24.810 EST is represented by a single Java-based time value of f22cd1fc8a, but its NTP equivalent are all values ranging from c1a9ae1c.cf5c28f5 to c1a9ae1c.cf9db22c.
- Parameters:
ntpTimeValue- the input time
-
toNtpShortFormat
static long toNtpShortFormat(long ntpTime)
Converts the given timestamp in NTP Timestamp Format into NTP Short Format (see "http://tools.ietf.org/html/rfc5905#section-6").
- Parameters:
ntpTime- the timestamp to convert.
-
ntpShortToMs
static long ntpShortToMs(long ntpShortTime)
Converts a timestamp in NTP Short Format (Q16.16, see "http://tools.ietf.org/html/rfc5905#section-6") into milliseconds.
- Parameters:
ntpShortTime- the timestamp in NTP Short Format to convert.
-
constructNtp
static long constructNtp(long msw, long lsw)
Constructs a
longrepresentation of a timestamp in NTP Timestamp Format (see "http://tools.ietf.org/html/rfc5905#section-6").- Parameters:
msw- The most significant word (32bits) represented as a long.lsw- The least significant word (32bits) represented as a long.
-
getMsw
static long getMsw(long ntpTime)
Gets the most significant word (32bits) from an NTP Timestamp represented as a long.
- Parameters:
ntpTime- the timestamp in NTP Timestamp Format.
-
getLsw
static long getLsw(long ntpTime)
Gets the least significant word (32bits) from an NTP Timestamp represented as a long.
- Parameters:
ntpTime- the timestamp in NTP Timestamp Format.
-
formatTimeAsFullMillis
static String formatTimeAsFullMillis(long secs, int nanos)
Formats a time -- represented by (long seconds, int nanos) -- as a String of floating-point milliseconds, in full precision. This is designed to format the java.time.Duration and java.time.Interval classes, without being dependent on them. This should return a correct result for every valid (secs, nanos) pair.
-
-
-
-