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