Package com.nimbusds.jwt.util
Class DateUtils
java.lang.Object
com.nimbusds.jwt.util.DateUtils
Date utilities.
-
Method Summary
Modifier and TypeMethodDescriptionstatic DatefromSecondsSinceEpoch(long time) Converts the specified Unix epoch time in seconds to a date object.static booleanCheck if the specified date is after the specified reference, given the maximum accepted negative clock skew.static booleanChecks if the specified date is before the specified reference, given the maximum accepted positive clock skew.static booleanChecks if the specified date is within the specified reference, give or take the maximum accepted clock skew.static DateReturns the current date, with the milliseconds removed.static longtoSecondsSinceEpoch(Date date) Converts the specified date object to a Unix epoch time in seconds.
-
Method Details
-
nowWithSecondsPrecision
Returns the current date, with the milliseconds removed.- Returns:
- The current date, with seconds precision.
-
toSecondsSinceEpoch
Converts the specified date object to a Unix epoch time in seconds.- Parameters:
date- The date. Must not benull.- Returns:
- The Unix epoch time, in seconds.
-
fromSecondsSinceEpoch
Converts the specified Unix epoch time in seconds to a date object.- Parameters:
time- The Unix epoch time, in seconds. Must not be negative.- Returns:
- The date.
-
isAfter
Check if the specified date is after the specified reference, given the maximum accepted negative clock skew.Formula:
return date + clock_skew > reference
Example: Ensure a JWT expiration (exp) timestamp is after the current time, with a minute of acceptable clock skew.boolean valid = DateUtils.isAfter(exp, new Date(), 60);
- Parameters:
date- The date to check. Must not benull.reference- The reference date (e.g. the current time). Must not benull.maxClockSkewSeconds- The maximum acceptable negative clock skew of the date value to check, in seconds.- Returns:
trueif the date is before the reference, plus the maximum accepted clock skew, elsefalse.
-
isBefore
Checks if the specified date is before the specified reference, given the maximum accepted positive clock skew.Formula:
return date - clock_skew < reference
Example: Ensure a JWT issued-at (iat) timestamp is before the current time, with a minute of acceptable clock skew.boolean valid = DateUtils.isBefore(iat, new Date(), 60);
- Parameters:
date- The date to check. Must not benull.reference- The reference date (e.g. the current time). Must not benull.maxClockSkewSeconds- The maximum acceptable clock skew of the date value to check, in seconds.- Returns:
trueif the date is before the reference, minus the maximum accepted clock skew, elsefalse.
-
isWithin
Checks if the specified date is within the specified reference, give or take the maximum accepted clock skew.- Parameters:
date- The date to check. Must not benull.reference- The reference date (e.g. the current time). Must not benull.maxClockSkewSeconds- The maximum acceptable clock skew of the date value to check, in seconds.- Returns:
trueif the date is within the reference, give or take the maximum accepted clock skew, elsefalse.
-