20230522 java.time.Instant

介紹

  • java.time.Instant
  • 類聲明
@jdk.internal.ValueBased
public final class Instant implements Temporal, TemporalAdjuster, Comparable<Instant>, Serializable
  • 時間線上的一個瞬時點,可以理解成時刻
  • 被稱爲“新紀元”的時間線原點被設置爲穿過倫敦格林威治皇家天文臺的本初子午線所處時區的 1970 年 1 月 1 日的午夜
  • 存儲了一個代表紀元秒的long整型 (seconds) 和一個int納秒的整型 (nanos)
  • Java API 定義了自己的時間尺度,即 Java Time-Scale ,使用 JSR-310 API
  • 不可變,線程安全
  • 實現 Temporal ,支持的時間單位( TemporalUnit )有
    • NANOS
    • MICROS
    • MILLIS
    • SECONDS
    • MINUTES
    • HOURS
    • HALF_DAYS
    • DAYS
  • 實現 TemporalAccessor ,支持的時間域( TemporalField )有
    • NANO_OF_SECOND
    • MICRO_OF_SECOND
    • MILLI_OF_SECOND
    • INSTANT_SECONDS
  • 類似於 java.util.Date ,通過 toInstantfrom 相互轉換

API

常量字段

  • EPOCH : 1970-01-01T00:00:00Z
    • 紀元時刻
  • MIN : -1000000000-01-01T00:00:00Z
    • 支持的最小 Instant
  • MAX : +1000000000-12-31T23:59:59.999999999Z
    • 支持的最大 Instant

static

  • now
    • Instant now()
    • Instant now(Clock clock)
    • 從系統時鐘獲取當前時刻,這將查詢 system UTC clock 以獲取當前時刻
  • from
    • Instant from(TemporalAccessor temporal)
    • 轉換爲 Instant
  • ofEpochMilli
    • Instant ofEpochMilli(long epochMilli)
    • 使用毫秒獲取Instant
  • ofEpochSecond
    • Instant ofEpochSecond(long epochSecond)
    • Instant ofEpochSecond(long epochSecond, long nanoAdjustment)
    • 使用秒數獲取Instant
  • parse
    • Instant parse(final CharSequence text)
    • toString
    • 格式示例:2023-06-29T10:07:34.814427100Z

public

  • getEpochSecond

    • seconds
  • getNano

    • nanos
  • atOffset

    • 將此時刻與偏移量相結合以創建 OffsetDateTime
  • atZone

    • 將此時刻與時區結合起來創建 ZonedDateTime
  • isAfter

  • isBefore

  • toEpochMilli

    • 將此時刻轉換爲從 1970-01-01T00:00:00Z 紀元開始的毫秒數
  • truncatedTo

    • 截斷
  • toString

    • ISO-8601 表示形式
    • 格式示例:2023-06-29T10:07:34.814427100Z

算數計算

  • minus
  • minusMillis
  • minusNanos
  • minusSeconds
  • plus
  • plusMillis
  • plusNanos
  • plusSeconds
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章