LocalDateTime相關API用法


//LocalDateTime轉String
LocalDateTime dateTime = LocalDateTime.now();
DateTimeFormatter fmt24 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");       
String dateStr24 = dateTime.format(fmt24);      
System.out.println("LocalDateTime轉String[pattern](24小時制):"+dateStr24)

//localDateTime轉localDate
localDate = dateTime.toLocalDate()

//獲取當前時間本月的第一天和最后一天時間
    public static final String MinTime = "T00:00:00";
    public static final String MaxTime = "T23:59:59.999999999";
    /**
     * 本月的開始時間
     * @param today 當前時間
     * @param isFirst [true 表示開始時間,false表示結束時間]
     */
    public static LocalDateTime getStartOrEndDayOfMonth(LocalDate today, Boolean isFirst){
        String time = MinTime;
        Month month = today.getMonth();
        int length = month.length(today.isLeapYear());
        if (isFirst) {
            today = LocalDate.of(today.getYear(), month, 1);
        } else {
            today = LocalDate.of(today.getYear(), month, length);
            time = MaxTime;
        }
        return LocalDateTime.parse(today.toString() + time);
    }

//獲取當前時間的上個月或下個月時間
LocalDateTime lastDateTime = dateTime.minus(1,ChronoUnit.MONTHS);
LocalDateTime lastDateTime = dateTime.plus(1,ChronoUnit.MONTHS);

//將LocalDateTime轉化為年月
String date = LocalDateTime.now().getYear()+String.format("%02d", LocalDateTime.now().getMonthValue());
"%02d":month格式化為至少2位十進制整數 
例如:月份為5,輸出"05";月份為11,輸出"11"
//date和localDateTime互轉
date -> localDateTime:
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime localDateTime = LocalDateTime.now();
ZonedDateTime zdt = localDateTime.atZone(zoneId);
Date date = Date.from(zdt.toInstant());

localDateTime -> date
LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault())

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM