java 当天唯一ids_java-为不同的时间字符串接收相同的ZonedDat...
當您調用LocalDate.parse時,您只獲得日期部分(日,月和年),而丟棄其余部分. LocalDate沒有時間字段(小時,分鐘,秒和秒的一部分),因此它們只是被丟棄并丟失.
然后,調用atStartOfDay(ZoneId.systemDefault()),它將時間設置為JVM默認時區的午夜.
如果要保留所有內容(日期和時間),請將其解析為LocalDateTime,這是一個包含所有日期和時間字段的類.然后,調用atZone方法將其轉換為ZonedDateTime:
String inputTime = "20171025-10:58:24.062151";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd-HH:mm:ss.SSSSSS");
// parse to a LocalDateTime (keeping all date and time fields)
LocalDateTime date = LocalDateTime.parse(inputTime, formatter);
// convert to ZonedDateTime
ZonedDateTime z = date.atZone(ZoneId.systemDefault());
PS:ZoneId.systemDefault()返回JVM默認時區,但請記住此值為can be changed without notice, even at runtime,因此最好始終使您使用的是明確的.
API使用IANA timezones names(始終以地區/城市格式,例如亞洲/科倫坡或歐洲/柏林).
避免使用3字母縮寫(例如IST或CET),因為它們是ambiguous and not standard.
您可以通過調用ZoneId.getAvailableZoneIds()獲得可用時區的列表(并選擇最適合您的系統的時區).然后,使用區域名稱調用ZoneId.of()方法,如下所示:
// using specific timezone instead of JVM's default
ZonedDateTime z = date.atZone(ZoneId.of("Asia/Colombo"));
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的java 当天唯一ids_java-为不同的时间字符串接收相同的ZonedDat...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《暗黑破坏神:不朽》PC、手机版实机演示
- 下一篇: mybatis传递多个参数_深入浅出My