%% %CopyrightBegin%
%%
%% SPDX-License-Identifier: Apache-2.0
%%
%% Copyright Ericsson AB 2021-2025. All Rights Reserved.
%%
%% %CopyrightEnd%

[;1m  timestamp()[0m

[;;4mSince[0m:
  OTP 18.0

  Returns current Erlang system time on the format [;;4m{MegaSecs, Secs,[0m
  [;;4mMicroSecs}[0m.

  This format is the same as [;;4mos:timestamp/0[0m and the deprecated [;;4m[0m
  [;;4merlang:now/0[0m use. The reason for the existence of [;;4m[0m
  [;;4merlang:timestamp()[0m is purely to simplify use for existing code
  that assumes this time stamp format. Current Erlang system time
  can more efficiently be retrieved in the time unit of your choice
  using [;;4merlang:system_time/1[0m.

  The [;;4merlang:timestamp()[0m BIF is equivalent to:

    timestamp() ->
        ErlangSystemTime = erlang:system_time(microsecond),
        MegaSecs = ErlangSystemTime div 1000_000_000_000,
        Secs = ErlangSystemTime div 1000_000 - MegaSecs*1000_000,
        MicroSecs = ErlangSystemTime rem 1000_000,
        {MegaSecs, Secs, MicroSecs}.

  It, however, uses a native implementation that does not build
  garbage on the heap and with slightly better performance.

  [;;4mNote[0m

    This time is not a monotonically increasing time in the
    general case. For more information, see the documentation of
    time warp modes in the User's Guide.
