xs:dateTimeStamp value representing the instant in time at which
the function is called.
timestamp() ➔ xs:dateTimeStamp
There are no arguments
Notes on the Saxon implementation
Available since Saxon 9.8.
The function returns an
xs:dateTimeStamp value representing (as far as possible)
the instant at which the function is called. This differs from
in that successive calls return different values. This enables the result to be used for
The precision of the result depends on the platform. The
is capable of representing microsecond precision. On JDK 8, Saxon calls the
class, which is capable of representing nanosecond precision, but some platforms only return millisecond
precision. When used with an earlier JDK, Saxon gets the date and time from the
class, and the result typically has millisecond precision.
The timezone in the result is the implicit timezone from the dynamic context (which in turn is taken from the system clock).
Saxon attempts to avoid aggressive optimization of calls to this function, so for example a call will not be lifted out of a loop. However, order of execution is not guaranteed, so there may still be surprises. If the result is bound to a variable, for example, the variable may be lazily evaluated, which means the timestamp will show the time at which the variable is evaluated, not the time at which it is declared.