Current section
Files
Jump to
Current section
Files
doc/cloudi_timestamp.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Module cloudi_timestamp</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
</head>
<body bgcolor="white">
<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
<hr>
<h1>Module cloudi_timestamp</h1>
<ul class="index"><li><a href="#description">Description</a></li><li><a href="#types">Data Types</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
<h3><a name="Timestamp_operations">Timestamp operations</a></h3>.
<p>Copyright © 2015-2018 Michael Truog</p>
<p><b>Version:</b> 1.7.4 Sep 15 2018 18:08:32
------------------------------------------------------------------------</p>
<p><b>Authors:</b> Michael Truog (<a href="mailto:mjtruog at protonmail dot com"><tt>mjtruog at protonmail dot com</tt></a>).</p>
<h2><a name="description">Description</a></h2>
<h3><a name="Timestamp_operations">Timestamp operations</a></h3>
<h2><a name="types">Data Types</a></h2>
<h3 class="typedecl"><a name="type-microseconds_epoch">microseconds_epoch()</a></h3>
<p><tt>microseconds_epoch() = non_neg_integer()</tt></p>
<h3 class="typedecl"><a name="type-microseconds_monotonic">microseconds_monotonic()</a></h3>
<p><tt>microseconds_monotonic() = integer()</tt></p>
<h3 class="typedecl"><a name="type-milliseconds_epoch">milliseconds_epoch()</a></h3>
<p><tt>milliseconds_epoch() = non_neg_integer()</tt></p>
<h3 class="typedecl"><a name="type-milliseconds_monotonic">milliseconds_monotonic()</a></h3>
<p><tt>milliseconds_monotonic() = integer()</tt></p>
<h3 class="typedecl"><a name="type-nanoseconds_epoch">nanoseconds_epoch()</a></h3>
<p><tt>nanoseconds_epoch() = non_neg_integer()</tt></p>
<p> monotonic time values may be negative</p>
<h3 class="typedecl"><a name="type-nanoseconds_monotonic">nanoseconds_monotonic()</a></h3>
<p><tt>nanoseconds_monotonic() = integer()</tt></p>
<h3 class="typedecl"><a name="type-native_monotonic">native_monotonic()</a></h3>
<p><tt>native_monotonic() = integer()</tt></p>
<h3 class="typedecl"><a name="type-seconds_epoch">seconds_epoch()</a></h3>
<p><tt>seconds_epoch() = non_neg_integer()</tt></p>
<h3 class="typedecl"><a name="type-seconds_monotonic">seconds_monotonic()</a></h3>
<p><tt>seconds_monotonic() = integer()</tt></p>
<h3 class="typedecl"><a name="type-time_unit">time_unit()</a></h3>
<p><tt>time_unit() = second | millisecond | microsecond | nanosecond | native | perf_counter | pos_integer()</tt></p>
<p> UNIX epoch (1970-01-01T00:00:00Z) offsets (POSIX time)</p>
<h2><a name="index">Function Index</a></h2>
<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#convert-3">convert/3</a></td><td>
<h4><a name="Convert_between_time_units.">Convert between time units.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#microseconds-0">microseconds/0</a></td><td>
<h4><a name="Microseconds_since_the_UNIX_epoch.">Microseconds since the UNIX epoch.</a></h4>
(The UNIX epoch is 1970-01-01T00:00:00Z).</td></tr>
<tr><td valign="top"><a href="#microseconds_epoch_to_string-1">microseconds_epoch_to_string/1</a></td><td>
<h4><a name="Create_an_ISO8601_timestamp_from_microseconds_since_the_UNIX_epoch.">Create an ISO8601 timestamp from microseconds since the UNIX epoch.</a></h4>
(The UNIX epoch is 1970-01-01T00:00:00Z).</td></tr>
<tr><td valign="top"><a href="#microseconds_monotonic-0">microseconds_monotonic/0</a></td><td>
<h4><a name="Microseconds_since_an_undefined_point_in_time,_from_the_Erlang_VM.">Microseconds since an undefined point in time, from the Erlang VM.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#microseconds_os-0">microseconds_os/0</a></td><td>
<h4><a name="Microseconds_since_the_UNIX_epoch,_from_the_hardware.">Microseconds since the UNIX epoch, from the hardware.</a></h4>
Always prefer the microseconds function instead of this function.</td></tr>
<tr><td valign="top"><a href="#milliseconds-0">milliseconds/0</a></td><td>
<h4><a name="Milliseconds_since_the_UNIX_epoch.">Milliseconds since the UNIX epoch.</a></h4>
(The UNIX epoch is 1970-01-01T00:00:00Z).</td></tr>
<tr><td valign="top"><a href="#milliseconds_epoch_to_string-1">milliseconds_epoch_to_string/1</a></td><td>
<h4><a name="Create_an_ISO8601_timestamp_from_milliseconds_since_the_UNIX_epoch.">Create an ISO8601 timestamp from milliseconds since the UNIX epoch.</a></h4>
(The UNIX epoch is 1970-01-01T00:00:00Z).</td></tr>
<tr><td valign="top"><a href="#milliseconds_monotonic-0">milliseconds_monotonic/0</a></td><td>
<h4><a name="Milliseconds_since_an_undefined_point_in_time,_from_the_Erlang_VM.">Milliseconds since an undefined point in time, from the Erlang VM.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#milliseconds_os-0">milliseconds_os/0</a></td><td>
<h4><a name="Milliseconds_since_the_UNIX_epoch,_from_the_hardware.">Milliseconds since the UNIX epoch, from the hardware.</a></h4>
Always prefer the milliseconds function instead of this function.</td></tr>
<tr><td valign="top"><a href="#nanoseconds-0">nanoseconds/0</a></td><td>
<h4><a name="Nanoseconds_since_the_UNIX_epoch.">Nanoseconds since the UNIX epoch.</a></h4>
(The UNIX epoch is 1970-01-01T00:00:00Z).</td></tr>
<tr><td valign="top"><a href="#nanoseconds_monotonic-0">nanoseconds_monotonic/0</a></td><td>
<h4><a name="Nanoseconds_since_an_undefined_point_in_time,_from_the_Erlang_VM.">Nanoseconds since an undefined point in time, from the Erlang VM.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#nanoseconds_os-0">nanoseconds_os/0</a></td><td>
<h4><a name="Nanoseconds_since_the_UNIX_epoch,_from_the_hardware.">Nanoseconds since the UNIX epoch, from the hardware.</a></h4>
Always prefer the nanoseconds function instead of this function.</td></tr>
<tr><td valign="top"><a href="#nanoseconds_to_string-1">nanoseconds_to_string/1</a></td><td>
<h4><a name="Format_a_nanoseconds_duration_as_a_minimal_string_with_lower-precision_integers.">Format a nanoseconds duration as a minimal string with lower-precision integers.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#nanoseconds_to_string-2">nanoseconds_to_string/2</a></td><td>
<h4><a name="Format_a_nanoseconds_duration_with_options_as_a_minimal_string_with_lower-precision_integers.">Format a nanoseconds duration with options as a minimal string with lower-precision integers.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#native-0">native/0</a></td><td>
<h4><a name="Native_time_units_since_the_UNIX_epoch.">Native time units since the UNIX epoch.</a></h4>
(The UNIX epoch is 1970-01-01T00:00:00Z).</td></tr>
<tr><td valign="top"><a href="#native_monotonic-0">native_monotonic/0</a></td><td>
<h4><a name="Native_time_units_since_an_undefined_point_in_time,_from_the_Erlang_VM.">Native time units since an undefined point in time, from the Erlang VM.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#native_os-0">native_os/0</a></td><td>
<h4><a name="Native_time_units_since_the_UNIX_epoch,_from_the_hardware.">Native time units since the UNIX epoch, from the hardware.</a></h4>
Always prefer the mative function instead of this function.</td></tr>
<tr><td valign="top"><a href="#seconds-0">seconds/0</a></td><td>
<h4><a name="Seconds_since_the_UNIX_epoch.">Seconds since the UNIX epoch.</a></h4>
(The UNIX epoch is 1970-01-01T00:00:00Z).</td></tr>
<tr><td valign="top"><a href="#seconds_epoch_to_string-1">seconds_epoch_to_string/1</a></td><td>
<h4><a name="Create_an_ISO8601_timestamp_from_seconds_since_the_UNIX_epoch.">Create an ISO8601 timestamp from seconds since the UNIX epoch.</a></h4>
(The UNIX epoch is 1970-01-01T00:00:00Z).</td></tr>
<tr><td valign="top"><a href="#seconds_filter-3">seconds_filter/3</a></td><td>
<h4><a name="Filter_a_list_of_seconds_since_the_UNIX_epoch.">Filter a list of seconds since the UNIX epoch.</a></h4>
The list is not ordered.</td></tr>
<tr><td valign="top"><a href="#seconds_filter_monotonic-3">seconds_filter_monotonic/3</a></td><td>
<h4><a name="Filter_a_list_of_seconds_since_an_undefined_point_in_time,_from_the_Erlang_VM.">Filter a list of seconds since an undefined point in time, from the Erlang VM.</a></h4>
The list is not ordered.</td></tr>
<tr><td valign="top"><a href="#seconds_monotonic-0">seconds_monotonic/0</a></td><td>
<h4><a name="Seconds_since_an_undefined_point_in_time,_from_the_Erlang_VM.">Seconds since an undefined point in time, from the Erlang VM.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#seconds_os-0">seconds_os/0</a></td><td>
<h4><a name="Seconds_since_the_UNIX_epoch,_from_the_hardware.">Seconds since the UNIX epoch, from the hardware.</a></h4>
Always prefer the seconds function instead of this function.</td></tr>
<tr><td valign="top"><a href="#seconds_to_string-1">seconds_to_string/1</a></td><td>
<h4><a name="Format_a_seconds_duration_as_a_minimal_string_with_lower-precision_integers.">Format a seconds duration as a minimal string with lower-precision integers.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#seconds_to_string-2">seconds_to_string/2</a></td><td>
<h4><a name="Format_a_seconds_duration_with_options_as_a_minimal_string_with_lower-precision_integers.">Format a seconds duration with options as a minimal string with lower-precision integers.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#timestamp-0">timestamp/0</a></td><td>
<h4><a name="Return_an_Erlang_VM_timestamp.">Return an Erlang VM timestamp.</a></h4>
Not guaranteed to be strictly monotonically increasing
(on Erlang >= 18.0).</td></tr>
<tr><td valign="top"><a href="#uptime-0">uptime/0</a></td><td>
<h4><a name="The_uptime_of_the_Erlang_node_in_seconds.">The uptime of the Erlang node in seconds.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#uptime-1">uptime/1</a></td><td>
<h4><a name="The_uptime_of_the_Erlang_node.">The uptime of the Erlang node.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#uptime_days-0">uptime_days/0</a></td><td>
<h4><a name="The_uptime_of_the_Erlang_node_in_days.">The uptime of the Erlang node in days.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#uptime_months-0">uptime_months/0</a></td><td>
<h4><a name="The_uptime_of_the_Erlang_node_in_months.">The uptime of the Erlang node in months.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#uptime_years-0">uptime_years/0</a></td><td>
<h4><a name="The_uptime_of_the_Erlang_node_in_years.">The uptime of the Erlang node in years.</a></h4>.</td></tr>
</table>
<h2><a name="functions">Function Details</a></h2>
<h3 class="function"><a name="convert-3">convert/3</a></h3>
<div class="spec">
<p><tt>convert(Time::integer(), FromUnit::<a href="#type-time_unit">time_unit()</a>, ToUnit::<a href="#type-time_unit">time_unit()</a>) -> integer()</tt><br></p>
</div><p>
<h4><a name="Convert_between_time_units.">Convert between time units.</a></h4>
</p>
<h3 class="function"><a name="microseconds-0">microseconds/0</a></h3>
<div class="spec">
<p><tt>microseconds() -> <a href="#type-microseconds_epoch">microseconds_epoch()</a></tt><br></p>
</div><p>
<h4><a name="Microseconds_since_the_UNIX_epoch.">Microseconds since the UNIX epoch.</a></h4>
(The UNIX epoch is 1970-01-01T00:00:00Z)</p>
<h3 class="function"><a name="microseconds_epoch_to_string-1">microseconds_epoch_to_string/1</a></h3>
<div class="spec">
<p><tt>microseconds_epoch_to_string(MicroSeconds::<a href="#type-microseconds_epoch">microseconds_epoch()</a>) -> string()</tt><br></p>
</div><p>
<h4><a name="Create_an_ISO8601_timestamp_from_microseconds_since_the_UNIX_epoch.">Create an ISO8601 timestamp from microseconds since the UNIX epoch.</a></h4>
(The UNIX epoch is 1970-01-01T00:00:00Z)</p>
<h3 class="function"><a name="microseconds_monotonic-0">microseconds_monotonic/0</a></h3>
<div class="spec">
<p><tt>microseconds_monotonic() -> <a href="#type-microseconds_monotonic">microseconds_monotonic()</a></tt><br></p>
</div><p>
<h4><a name="Microseconds_since_an_undefined_point_in_time,_from_the_Erlang_VM.">Microseconds since an undefined point in time, from the Erlang VM.</a></h4>
</p>
<h3 class="function"><a name="microseconds_os-0">microseconds_os/0</a></h3>
<div class="spec">
<p><tt>microseconds_os() -> <a href="#type-microseconds_epoch">microseconds_epoch()</a></tt><br></p>
</div><p>
<h4><a name="Microseconds_since_the_UNIX_epoch,_from_the_hardware.">Microseconds since the UNIX epoch, from the hardware.</a></h4>
Always prefer the microseconds function instead of this function.
(The UNIX epoch is 1970-01-01T00:00:00Z)</p>
<h3 class="function"><a name="milliseconds-0">milliseconds/0</a></h3>
<div class="spec">
<p><tt>milliseconds() -> <a href="#type-milliseconds_epoch">milliseconds_epoch()</a></tt><br></p>
</div><p>
<h4><a name="Milliseconds_since_the_UNIX_epoch.">Milliseconds since the UNIX epoch.</a></h4>
(The UNIX epoch is 1970-01-01T00:00:00Z)</p>
<h3 class="function"><a name="milliseconds_epoch_to_string-1">milliseconds_epoch_to_string/1</a></h3>
<div class="spec">
<p><tt>milliseconds_epoch_to_string(MilliSeconds::<a href="#type-milliseconds_epoch">milliseconds_epoch()</a>) -> string()</tt><br></p>
</div><p>
<h4><a name="Create_an_ISO8601_timestamp_from_milliseconds_since_the_UNIX_epoch.">Create an ISO8601 timestamp from milliseconds since the UNIX epoch.</a></h4>
(The UNIX epoch is 1970-01-01T00:00:00Z)</p>
<h3 class="function"><a name="milliseconds_monotonic-0">milliseconds_monotonic/0</a></h3>
<div class="spec">
<p><tt>milliseconds_monotonic() -> <a href="#type-milliseconds_monotonic">milliseconds_monotonic()</a></tt><br></p>
</div><p>
<h4><a name="Milliseconds_since_an_undefined_point_in_time,_from_the_Erlang_VM.">Milliseconds since an undefined point in time, from the Erlang VM.</a></h4>
</p>
<h3 class="function"><a name="milliseconds_os-0">milliseconds_os/0</a></h3>
<div class="spec">
<p><tt>milliseconds_os() -> <a href="#type-milliseconds_epoch">milliseconds_epoch()</a></tt><br></p>
</div><p>
<h4><a name="Milliseconds_since_the_UNIX_epoch,_from_the_hardware.">Milliseconds since the UNIX epoch, from the hardware.</a></h4>
Always prefer the milliseconds function instead of this function.
(The UNIX epoch is 1970-01-01T00:00:00Z)</p>
<h3 class="function"><a name="nanoseconds-0">nanoseconds/0</a></h3>
<div class="spec">
<p><tt>nanoseconds() -> <a href="#type-nanoseconds_epoch">nanoseconds_epoch()</a></tt><br></p>
</div><p>
<h4><a name="Nanoseconds_since_the_UNIX_epoch.">Nanoseconds since the UNIX epoch.</a></h4>
(The UNIX epoch is 1970-01-01T00:00:00Z)</p>
<h3 class="function"><a name="nanoseconds_monotonic-0">nanoseconds_monotonic/0</a></h3>
<div class="spec">
<p><tt>nanoseconds_monotonic() -> <a href="#type-nanoseconds_monotonic">nanoseconds_monotonic()</a></tt><br></p>
</div><p>
<h4><a name="Nanoseconds_since_an_undefined_point_in_time,_from_the_Erlang_VM.">Nanoseconds since an undefined point in time, from the Erlang VM.</a></h4>
</p>
<h3 class="function"><a name="nanoseconds_os-0">nanoseconds_os/0</a></h3>
<div class="spec">
<p><tt>nanoseconds_os() -> <a href="#type-nanoseconds_epoch">nanoseconds_epoch()</a></tt><br></p>
</div><p>
<h4><a name="Nanoseconds_since_the_UNIX_epoch,_from_the_hardware.">Nanoseconds since the UNIX epoch, from the hardware.</a></h4>
Always prefer the nanoseconds function instead of this function.
(The UNIX epoch is 1970-01-01T00:00:00Z)</p>
<h3 class="function"><a name="nanoseconds_to_string-1">nanoseconds_to_string/1</a></h3>
<div class="spec">
<p><tt>nanoseconds_to_string(TotalNanoSeconds::non_neg_integer()) -> nonempty_string()</tt><br></p>
</div><p>
<h4><a name="Format_a_nanoseconds_duration_as_a_minimal_string_with_lower-precision_integers.">Format a nanoseconds duration as a minimal string with lower-precision integers.</a></h4>
</p>
<h3 class="function"><a name="nanoseconds_to_string-2">nanoseconds_to_string/2</a></h3>
<div class="spec">
<p><tt>nanoseconds_to_string(TotalNanoSeconds::integer(), Options::signed) -> nonempty_string()</tt><br></p>
</div><p>
<h4><a name="Format_a_nanoseconds_duration_with_options_as_a_minimal_string_with_lower-precision_integers.">Format a nanoseconds duration with options as a minimal string with lower-precision integers.</a></h4>
</p>
<h3 class="function"><a name="native-0">native/0</a></h3>
<div class="spec">
<p><tt>native() -> integer()</tt><br></p>
</div><p>
<h4><a name="Native_time_units_since_the_UNIX_epoch.">Native time units since the UNIX epoch.</a></h4>
(The UNIX epoch is 1970-01-01T00:00:00Z)</p>
<h3 class="function"><a name="native_monotonic-0">native_monotonic/0</a></h3>
<div class="spec">
<p><tt>native_monotonic() -> <a href="#type-native_monotonic">native_monotonic()</a></tt><br></p>
</div><p>
<h4><a name="Native_time_units_since_an_undefined_point_in_time,_from_the_Erlang_VM.">Native time units since an undefined point in time, from the Erlang VM.</a></h4>
</p>
<h3 class="function"><a name="native_os-0">native_os/0</a></h3>
<div class="spec">
<p><tt>native_os() -> integer()</tt><br></p>
</div><p>
<h4><a name="Native_time_units_since_the_UNIX_epoch,_from_the_hardware.">Native time units since the UNIX epoch, from the hardware.</a></h4>
Always prefer the mative function instead of this function.
(The UNIX epoch is 1970-01-01T00:00:00Z)</p>
<h3 class="function"><a name="seconds-0">seconds/0</a></h3>
<div class="spec">
<p><tt>seconds() -> <a href="#type-seconds_epoch">seconds_epoch()</a></tt><br></p>
</div><p>
<h4><a name="Seconds_since_the_UNIX_epoch.">Seconds since the UNIX epoch.</a></h4>
(The UNIX epoch is 1970-01-01T00:00:00Z)</p>
<h3 class="function"><a name="seconds_epoch_to_string-1">seconds_epoch_to_string/1</a></h3>
<div class="spec">
<p><tt>seconds_epoch_to_string(Seconds::<a href="#type-seconds_epoch">seconds_epoch()</a>) -> string()</tt><br></p>
</div><p>
<h4><a name="Create_an_ISO8601_timestamp_from_seconds_since_the_UNIX_epoch.">Create an ISO8601 timestamp from seconds since the UNIX epoch.</a></h4>
(The UNIX epoch is 1970-01-01T00:00:00Z)</p>
<h3 class="function"><a name="seconds_filter-3">seconds_filter/3</a></h3>
<div class="spec">
<p><tt>seconds_filter(L::[<a href="#type-seconds_epoch">seconds_epoch()</a>], SecondsNow::<a href="#type-seconds_epoch">seconds_epoch()</a>, MaxPeriod::pos_integer()) -> {Count::non_neg_integer(), NewL::[<a href="#type-seconds_epoch">seconds_epoch()</a>]}</tt><br></p>
</div><p>
<h4><a name="Filter_a_list_of_seconds_since_the_UNIX_epoch.">Filter a list of seconds since the UNIX epoch.</a></h4>
The list is not ordered.</p>
<h3 class="function"><a name="seconds_filter_monotonic-3">seconds_filter_monotonic/3</a></h3>
<div class="spec">
<p><tt>seconds_filter_monotonic(L::[<a href="#type-seconds_monotonic">seconds_monotonic()</a>], SecondsNow::<a href="#type-seconds_monotonic">seconds_monotonic()</a>, MaxPeriod::pos_integer()) -> {Count::non_neg_integer(), NewL::[<a href="#type-seconds_monotonic">seconds_monotonic()</a>]}</tt><br></p>
</div><p>
<h4><a name="Filter_a_list_of_seconds_since_an_undefined_point_in_time,_from_the_Erlang_VM.">Filter a list of seconds since an undefined point in time, from the Erlang VM.</a></h4>
The list is not ordered.</p>
<h3 class="function"><a name="seconds_monotonic-0">seconds_monotonic/0</a></h3>
<div class="spec">
<p><tt>seconds_monotonic() -> <a href="#type-seconds_monotonic">seconds_monotonic()</a></tt><br></p>
</div><p>
<h4><a name="Seconds_since_an_undefined_point_in_time,_from_the_Erlang_VM.">Seconds since an undefined point in time, from the Erlang VM.</a></h4>
</p>
<h3 class="function"><a name="seconds_os-0">seconds_os/0</a></h3>
<div class="spec">
<p><tt>seconds_os() -> <a href="#type-seconds_epoch">seconds_epoch()</a></tt><br></p>
</div><p>
<h4><a name="Seconds_since_the_UNIX_epoch,_from_the_hardware.">Seconds since the UNIX epoch, from the hardware.</a></h4>
Always prefer the seconds function instead of this function.
(The UNIX epoch is 1970-01-01T00:00:00Z)</p>
<h3 class="function"><a name="seconds_to_string-1">seconds_to_string/1</a></h3>
<div class="spec">
<p><tt>seconds_to_string(TotalSeconds::non_neg_integer()) -> nonempty_string()</tt><br></p>
</div><p>
<h4><a name="Format_a_seconds_duration_as_a_minimal_string_with_lower-precision_integers.">Format a seconds duration as a minimal string with lower-precision integers.</a></h4>
</p>
<h3 class="function"><a name="seconds_to_string-2">seconds_to_string/2</a></h3>
<div class="spec">
<p><tt>seconds_to_string(TotalSeconds::integer(), Options::signed) -> nonempty_string()</tt><br></p>
</div><p>
<h4><a name="Format_a_seconds_duration_with_options_as_a_minimal_string_with_lower-precision_integers.">Format a seconds duration with options as a minimal string with lower-precision integers.</a></h4>
</p>
<h3 class="function"><a name="timestamp-0">timestamp/0</a></h3>
<div class="spec">
<p><tt>timestamp() -> <a href="erlang.html#type-timestamp">erlang:timestamp()</a></tt><br></p>
</div><p>
<h4><a name="Return_an_Erlang_VM_timestamp.">Return an Erlang VM timestamp.</a></h4>
Not guaranteed to be strictly monotonically increasing
(on Erlang >= 18.0).</p>
<h3 class="function"><a name="uptime-0">uptime/0</a></h3>
<div class="spec">
<p><tt>uptime() -> non_neg_integer()</tt><br></p>
</div><p>
<h4><a name="The_uptime_of_the_Erlang_node_in_seconds.">The uptime of the Erlang node in seconds.</a></h4>
</p>
<h3 class="function"><a name="uptime-1">uptime/1</a></h3>
<div class="spec">
<p><tt>uptime(TimeUnit::second | millisecond | microsecond | nanosecond) -> non_neg_integer()</tt><br></p>
</div><p>
<h4><a name="The_uptime_of_the_Erlang_node.">The uptime of the Erlang node.</a></h4>
</p>
<h3 class="function"><a name="uptime_days-0">uptime_days/0</a></h3>
<div class="spec">
<p><tt>uptime_days() -> float()</tt><br></p>
</div><p>
<h4><a name="The_uptime_of_the_Erlang_node_in_days.">The uptime of the Erlang node in days.</a></h4>
</p>
<h3 class="function"><a name="uptime_months-0">uptime_months/0</a></h3>
<div class="spec">
<p><tt>uptime_months() -> float()</tt><br></p>
</div><p>
<h4><a name="The_uptime_of_the_Erlang_node_in_months.">The uptime of the Erlang node in months.</a></h4>
</p>
<h3 class="function"><a name="uptime_years-0">uptime_years/0</a></h3>
<div class="spec">
<p><tt>uptime_years() -> float()</tt><br></p>
</div><p>
<h4><a name="The_uptime_of_the_Erlang_node_in_years.">The uptime of the Erlang node in years.</a></h4>
</p>
<hr>
<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
<p><i>Generated by EDoc</i></p>
</body>
</html>