您好,登錄后才能下訂單哦!
java8中LocalDateTime的作用是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
Java的Date,Calendar類型使用起來并不是很方便,而且Date類(據說)有著線程不安全等諸多弊端。同時若不進行封裝,會在每次使用時特別麻煩。于是Java8推出了線程安全、簡易、高可靠的時間包。并且數據庫中也支持LocalDateTime類型,在數據存儲時候使時間變得簡單。Java8這次新推出的包括三個相關的時間類型:LocalDateTime年月日十分秒;LocalDate日期;LocalTime時間;三個包的方法都差不多。
都知道以前對Date進行格式化還要借助SimpDateFormart對象。操作起來不能說麻煩,但也不是那么順手。下面貼代碼LocalDateTime與字符串操作
//將當前時間格式化為字符串 pattern為yyyy-MM等 LocalDateTime.now().format(DateTimeFormatter.ofPattern(pattern)); //將時間字符串轉換為LocalDateTime LocalDateTime.parse(dateTimeStr, DateTimeFormatter.ofPattern(pattern));
Duration duration = Duration.between(startLocalDateTime,endLocalDateTime); //獲取相隔天數 duration.toDays(); //獲取相隔小時 duration.toHours(); //獲取相隔分鐘 duration.toMinutes(); //獲取相隔秒數 uration.getSeconds() //獲取相隔毫秒 duration.toMillis(); Period period = Period.between(startLocalDateTime.toLocalDate(),endLocalDateTime.toLocalDate()); //獲取相隔年 period.getYears(); //獲取相隔月 period.getMonths(); period.toTotalMonths();
//增加plusXX 如:增加一個月 LocalDateTime.now().plusMonths(1); //減少minusXX 如:減少一個月 LocalDateTime.now().minusMonths(1);
LocalDateTime endLocalDateTime = now.with(TemporalAdjusters.lastDayOfMonth());
//LocalDateTime to Date //ZoneId為時區 這里獲取系統默認時區 ZoneId zone = ZoneId.systemDefault(); LocalDateTime localDateTime = LocalDateTime.now(); //Instant是一個精確到納秒的時間對象 Instant instant = localDateTime.atZone(zone).toInstant(); Date date = Date.from(instant); //Date to LocalDateTime Date date = new Date(); Instant instant = date.toInstant(); ZoneId zone = ZoneId.systemDefault(); LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。