java8時間轉換成字符串


 1 //往前推一天
 2         String ss = DateTimeFormatter.ofPattern("MM/dd").format(LocalDateTime.now().minusDays(1));
 3         System.out.println(ss);
 4         
 5         //往前推一個月
 6         String ss1 = DateTimeFormatter.ofPattern("yyyy/MM").format(LocalDateTime.now().minusMonths(1));
 7         System.out.println(ss1);
 8 
 9         DateTimeFormatter dateTimeFormatter=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
10         String ss2 = dateTimeFormatter.format(LocalDateTime.now());
11         System.out.println(ss2);

輸出結果:

1 07/26
2 2020/06
3 2020-07-27 17:00:00

 字符串轉換日期

String time = "2020-09-22";
LocalDate parse = LocalDate.parse(time);
String time = "2020-09-22 22:22:22";
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime localDateTime = LocalDateTime.parse(time, dateTimeFormatter);
System.out.println("年:"+localDateTime.getYear()+" 月:"+localDateTime.getMonthValue()+" 日:"+localDateTime.getDayOfMonth()+" 時:"+localDateTime.getHour()
+" 分:"+localDateTime.getMinute()+" 秒:"+localDateTime.getSecond()
);

 輸出結果:

年:2020 月:9 日:22 時:22 分:22 秒:22

LocalDateTime的常用方法:

     LocalDateTime localDateTime = LocalDateTime.now();
        System.out.println(localDateTime); //輸出當前時間
        System.out.println("減少1年:"+localDateTime.minusYears(1));
        System.out.println("減少1月:"+localDateTime.minusMonths(1));
        System.out.println("減少1周:"+localDateTime.minusWeeks(1));
        System.out.println("減少1天:"+localDateTime.minusDays(1));
        System.out.println("減少1小時:"+localDateTime.minusHours(1));
        System.out.println("減少1分鍾:"+localDateTime.minusMinutes(1));
        System.out.println("減少1秒鍾:"+localDateTime.minusSeconds(1));

        System.out.println("增加1年:"+localDateTime.plusYears(1));
        System.out.println("增加1月:"+localDateTime.plusMonths(1));
        System.out.println("增加1周:"+localDateTime.plusWeeks(1));
        System.out.println("增加1天:"+localDateTime.plusDays(1));
        System.out.println("增加1小時:"+localDateTime.plusHours(1));
        System.out.println("增加1分鍾:"+localDateTime.plusMinutes(1));
        System.out.println("增加1秒鍾:"+localDateTime.plusSeconds(1));

輸出:

2020-07-28T11:14:43.965
減少1年:2019-07-28T11:14:43.965
減少1月:2020-06-28T11:14:43.965
減少1周:2020-07-21T11:14:43.965
減少1天:2020-07-27T11:14:43.965
減少1小時:2020-07-28T10:14:43.965
減少1分鍾:2020-07-28T11:13:43.965
減少1秒鍾:2020-07-28T11:14:42.965
增加1年:2021-07-28T11:14:43.965
增加1月:2020-08-28T11:14:43.965
增加1周:2020-08-04T11:14:43.965
增加1天:2020-07-29T11:14:43.965
增加1小時:2020-07-28T12:14:43.965
增加1分鍾:2020-07-28T11:15:43.965
增加1秒鍾:2020-07-28T11:14:44.965

 

定義LocalDateTime:

//定義年 月 日 時  分 秒
        LocalDateTime localDateTime1 = localDateTime.withYear(2028).withMonth(12).withDayOfMonth(13).withHour(15).withMinute(30).withSecond(45);
        System.out.println(localDateTime1);

輸出:

2028-12-13T15:30:45.965

月多少天,年多少天:

System.out.println("每月多少天:"+LocalDate.now().lengthOfMonth()+"  每年多少天:"+LocalDate.now().lengthOfYear());

輸出:

每月多少天:31  每年多少天:366

每天最大時間,最小時間:

     //每天最大時間,minusSeconds,保存到數據庫中為23:59:59.如果不加的話,保存到數據庫就為:第二天00:00:00
        LocalDateTime max = LocalDateTime.now().with(LocalTime.MAX).minusSeconds(1);
        System.out.println(max);  //2020-07-28T23:59:58.999999999
        //每天最小時間。
        LocalDateTime startOfDay = LocalDateTime.now().with(LocalTime.MIN);
        System.out.println(startOfDay);  //2020-07-28T00:00

LocalDateTime轉Long,Long轉LocalDateTime

/**
     * LocalDateTime轉Long
     * @param localDateTime
     * @return
     */
    public static long getTimestampOfDateTime(LocalDateTime localDateTime) {
        ZoneId zone = ZoneId.systemDefault();
        Instant instant = localDateTime.atZone(zone).toInstant();
        return instant.toEpochMilli();
    }

    /**
     * long轉LocalDateTime
     * @param timestamp
     * @return
     */
    public static LocalDateTime getDateTimeOfTimestamp(long timestamp) {
        Instant instant = Instant.ofEpochMilli(timestamp);
        ZoneId zone = ZoneId.systemDefault();
        return LocalDateTime.ofInstant(instant, zone);
    }

 


免責聲明!

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



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