blob: 4f65138f477e57655838f659b7f4b07cd9dc83d9 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>Instant (Apache Log4j Core 2.23.1 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.logging.log4j.core.time, interface: Instant">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/Instant.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.logging.log4j.core.time</a></div>
<h1 title="Interface Instant" class="title">Interface Instant</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Superinterfaces:</dt>
<dd><code><a href="https://logging.apache.org/log4j/2.x/apidocs/org/apache/logging/log4j/util/StringBuilderFormattable.html" title="class or interface in org.apache.logging.log4j.util" class="external-link">StringBuilderFormattable</a></code></dd>
</dl>
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="MutableInstant.html" title="class in org.apache.logging.log4j.core.time">MutableInstant</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">Instant</span><span class="extends-implements">
extends <a href="https://logging.apache.org/log4j/2.x/apidocs/org/apache/logging/log4j/util/StringBuilderFormattable.html" title="class or interface in org.apache.logging.log4j.util" class="external-link">StringBuilderFormattable</a></span></div>
<div class="block">Models a point in time, suitable for event timestamps.
<p>
Provides methods for obtaining high precision time information similar to the
<a href="https://docs.oracle.com/javase/9/docs/api/java/time/Instant.html">Instant</a> class introduced in Java 8,
while also supporting the legacy millisecond precision API.
</p><p>
Depending on the platform, time sources (<a href="../util/Clock.html" title="interface in org.apache.logging.log4j.core.util"><code>Clock</code></a> implementations) may produce high precision or millisecond
precision time values. At the same time, some time value consumers (for example timestamp formatters) may only be
able to consume time values of millisecond precision, while some others may require a high precision time value.
</p><p>
This class bridges these two time APIs.
</p></div>
<dl class="notes">
<dt>Since:</dt>
<dd>2.11</dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>long</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getEpochMillisecond()" class="member-name-link">getEpochMillisecond</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the number of milliseconds from the Java epoch of 1970-01-01T00:00:00Z.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>long</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getEpochSecond()" class="member-name-link">getEpochSecond</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the number of seconds from the Java epoch of 1970-01-01T00:00:00Z.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getNanoOfMillisecond()" class="member-name-link">getNanoOfMillisecond</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the number of nanoseconds, later along the time-line, from the start of the millisecond.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getNanoOfSecond()" class="member-name-link">getNanoOfSecond</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the number of nanoseconds, later along the time-line, from the start of the second.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.logging.log4j.util.StringBuilderFormattable">Methods inherited from interface&nbsp;org.apache.logging.log4j.util.<a href="https://logging.apache.org/log4j/2.x/apidocs/org/apache/logging/log4j/util/StringBuilderFormattable.html" title="class or interface in org.apache.logging.log4j.util" class="external-link">StringBuilderFormattable</a></h3>
<code><a href="https://logging.apache.org/log4j/2.x/apidocs/org/apache/logging/log4j/util/StringBuilderFormattable.html#formatTo(java.lang.StringBuilder)" title="class or interface in org.apache.logging.log4j.util" class="external-link">formatTo</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getEpochSecond()">
<h3>getEpochSecond</h3>
<div class="member-signature"><span class="return-type">long</span>&nbsp;<span class="element-name">getEpochSecond</span>()</div>
<div class="block">Gets the number of seconds from the Java epoch of 1970-01-01T00:00:00Z.
<p>
The epoch second count is a simple incrementing count of seconds where second 0 is 1970-01-01T00:00:00Z.
The nanosecond part of the day is returned by <a href="#getNanoOfSecond()"><code>getNanoOfSecond()</code></a>.
</p></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the seconds from the epoch of 1970-01-01T00:00:00Z</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getNanoOfSecond()">
<h3>getNanoOfSecond</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">getNanoOfSecond</span>()</div>
<div class="block">Gets the number of nanoseconds, later along the time-line, from the start of the second.
<p>
The nanosecond-of-second value measures the total number of nanoseconds from the second returned by <a href="#getEpochSecond()"><code>getEpochSecond()</code></a>.
</p></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the nanoseconds within the second, always positive, never exceeds <code>999,999,999</code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getEpochMillisecond()">
<h3>getEpochMillisecond</h3>
<div class="member-signature"><span class="return-type">long</span>&nbsp;<span class="element-name">getEpochMillisecond</span>()</div>
<div class="block">Gets the number of milliseconds from the Java epoch of 1970-01-01T00:00:00Z.
<p>
The epoch millisecond count is a simple incrementing count of milliseconds where millisecond 0 is 1970-01-01T00:00:00Z.
The nanosecond part of the day is returned by <a href="#getNanoOfMillisecond()"><code>getNanoOfMillisecond()</code></a>.
</p></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the milliseconds from the epoch of 1970-01-01T00:00:00Z</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getNanoOfMillisecond()">
<h3>getNanoOfMillisecond</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">getNanoOfMillisecond</span>()</div>
<div class="block">Gets the number of nanoseconds, later along the time-line, from the start of the millisecond.
<p>
The nanosecond-of-millisecond value measures the total number of nanoseconds from the millisecond returned by <a href="#getEpochMillisecond()"><code>getEpochMillisecond()</code></a>.
</p></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the nanoseconds within the millisecond, always positive, never exceeds <code>999,999</code></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small><p align="center"> Copyright &copy; 1999-2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.<br/> Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation. </p></small></p>
</footer>
</div>
</div>
</body>
</html>