簡體   English   中英

如何更改 LocalDateTime 的默認紀元 1970-01-01T00:00:00Z

[英]How to change the default epoch of 1970-01-01T00:00:00Z for LocalDateTime

LocalDateTime類中,有一種將紀元秒和納秒轉換為 UTC 時間的方法。

看起來像:

LocalDateTime dateTime = LocalDateTime.ofEpochSecond()

但是,它使用 1970-01-01T00:00:00Z 紀元的秒數​​獲取LocalDateTime的實例。

有沒有辦法將1970修改為1980作為默認實例?

我相信我需要改變它,因為:

epoch seconds = 667662644 
epoch nanoseconds = 1165598

應該出來:

13:50:44.001165598 03/03/2001

但我得到:

13:50:44.001165598 2/27/1991

找出您需要的偏移量並將其添加到所有紀元秒值中,然后再轉換為“LocalDateTime”。

偏移量可以計算一次,然后硬編碼為

public static final int EPOCH_OFFSET = nnnn;

樣本:

    Instant GPS = Instant.parse("1980-01-06T00:00:00Z");
    long    GPS_EPOCH = GPS.toEpochMilli();
    System.out.printf("%s %,d\n",GPS.toString(), GPS_EPOCH);

輸出:

1980-01-06T00:00:00Z 315,964,800,000

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM