JDK Tutorials - Herong's Tutorial Examples
∟Java Date-Time API
∟java.time.Instant - Representing a Moment of Time
This section describes the java.time.Instant class that represents a moment of time expressed in 2 components, Epoch-Second and Nanosecond-of-Second.
java.time.Instant represents an instantaneous moment of time with a resolution of nanosecond.
The moment of time is represented by a java.time.Instant object with 2 components:
- Epoch-Second - Representing the number of seconds passed between this moment and the Unix Epoch point, 1970-01-01T00:00:00Z.
- Nanosecond-of-Second - Representing the fraction of a second passed between this moment and last second.
The java.time.Instant class is designed mainly for measuring absolute time and duration for scientific purposes.
It does not contain any calendar, timezone or UTC offset information.
Main methods offered on the java.time.Instant class are:
- ofEpochSecond() - A static method returning an Instant object representing the moment of time
when the given number of seconds is passed since the Unix Epoch point and the given number of nanoseconds is passed since the last second.
Note that there are no constructors in Instant class. So "new Instant()" is not a valid expression.
- getEpochSecond() - An object method returning the Epoch-Second value of this Instant object.
The Epoch-Second value is the number of whole seconds passed
between the moment of time represented by this Instant object
and the Unix Epoch point of time, which can be expressed in ISO 8601 date and time format as "1970-01-01T00:00:00Z".
- getNano() - An object method returning the Nanosecond-of-Second value of this Instant object.
The Nanosecond-of-Second value is the fraction of a second passed between the moment of time
represented by this Instant object and last whole second passed since the Unix Epoch point of time.
- get() - An object method returning the value of a given temporal field,
NANO_OF_SECOND, MICRO_OF_SECOND, MILLI_OF_SECOND, or INSTANT_SECONDS from this Instant object.
- toString() - An object method returning a string representing this Instant object in ISO 8601 date and time format
based on ISO 8601 calendar and Coordinated Universal Time (UTC) standard with nanoseconds precision.
Here is an example of toString() output, "2014-04-01T04:41:10.123456789Z".
- plus() - An object method returns a copy of this Instant object with additional time added in
NANOS, MICROS, MILLIS, SECONDS, MINUTES, HOURS, HALF_DAYS, or DAYS unit.
Note that the plus() cannot be used to construct time instant by adding time in calendar units like years or months.
- minus() - An object method returns a copy of this Instant object with additional time removed in
NANOS, MICROS, MILLIS, SECONDS, MINUTES, HOURS, HALF_DAYS, or DAYS unit.
Note that the minus() cannot be used to construct time instant by subtracting time in calendar units like years or months.
- with() - An object method returns a copy of this Instant object with a new value set on a specified field,
NANO_OF_SECOND, MICRO_OF_SECOND, MILLI_OF_SECOND, or INSTANT_SECONDS.
- ofEpochMilli() - A static method returning an Instant object representing the moment calculated by
adding the specified milliseconds to the Unix Epoch point of time.
- parse() - A static method returning an Instant object representing a moment of time constructed by
parsing the given character sequence using the ISO 8601 date and time format.
- now() - A static method returning an Instant object representing the current moment based on the system clock time.
Table of Contents
About This JDK Tutorial Book
JDK (Java Development Kit)
►Java Date-Time API
What Is Date-Time API
►java.time.Instant - Representing a Moment of Time
java.time.Instant Usage Examples
java.time.Instant - get(INSTANT_SECONDS) Error
Converting java.util.Date to java.time.Instant
java.time.ZonedDateTime - Calendar and Timezone
java.time.ZonedDateTime Usage Examples
Converting java.util.GregorianCalendar to java.time.ZonedDateTime
java.time.OffsetDateTime - Calendar and UTC Offset
java.time.OffsetDateTime Usage Examples
java.time.LocalDateTime - Local Date and time without Timezone
Partial Date and Time Objects and Classes
java.time.format.DateTimeFormatter - Date-Time Strings
java.time.Duration - Time Durations
java.time.Duration Usage Examples
java.time.Period - Periods in Days and Months
java.time.Period Usage Examples
Date, Time and Calendar Classes
Date and Time Object and String Conversion
Number Object and Numeric String Conversion
Locales, Localization Methods and Resource Bundles
Calling and Importing Classes Defined in Unnamed Packages
HashSet, Vector, HashMap and Collection Classes
Character Set Encoding Classes and Methods
Character Set Encoding Maps
Encoding Conversion Programs for Encoded Text Files
Java Logging
Socket Network Communication
Datagram Network Communication
DOM (Document Object Model) - API for XML Files
SAX (Simple API for XML)
DTD (Document Type Definition) - XML Validation
XSD (XML Schema Definition) - XML Validation
XSL (Extensible Stylesheet Language)
Message Digest Algorithm Implementations in JDK
Private key and Public Key Pair Generation
PKCS#8/X.509 Private/Public Encoding Standards
Digital Signature Algorithm and Sample Program
"keytool" Commands and "keystore" Files
KeyStore and Certificate Classes
Secret Key Generation and Management
Cipher - Encryption and Decryption
The SSL (Secure Socket Layer) Protocol
SSL Socket Communication Testing Programs
SSL Client Authentication
HTTPS (Hypertext Transfer Protocol Secure)
Outdated Tutorials
References
Full Version in PDF/EPUB