日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

探索LocalDateTime的魔法:高效日期時(shí)間處理的秘訣與技巧

來源: 責(zé)編: 時(shí)間:2024-06-25 09:11:13 215觀看
導(dǎo)讀哈嘍,大家好,我是了不起。LocalDateTime、LocalDate、LocalTime 是Java8全新的日期框架,較之前的util.Date以及Calander使用起來更加的方便直觀,下面介紹幾種常見的日期對象用法。前言LocalDateTime:日期加時(shí)間的日期對象,

哈嘍,大家好,我是了不起。nWg28資訊網(wǎng)——每日最新資訊28at.com

LocalDateTime、LocalDate、LocalTime 是Java8全新的日期框架,較之前的util.Date以及Calander使用起來更加的方便直觀,下面介紹幾種常見的日期對象用法。nWg28資訊網(wǎng)——每日最新資訊28at.com

前言

  • LocalDateTime:日期加時(shí)間的日期對象,包含年月日時(shí)分秒
  • LocalDate:日期類,包含年月日
  • LocalTime:時(shí)間類,包含時(shí)分秒

LocalDateTime

JDK1.8版本中新引入的API,加強(qiáng)了對時(shí)間的管理,有很多特別好用的時(shí)間運(yùn)算方法,而且是線程安全的。nWg28資訊網(wǎng)——每日最新資訊28at.com

獲取當(dāng)前時(shí)間

@Testpublic void test() {    LocalDate localDate = LocalDate.now();    LocalTime localTime = LocalTime.now();    LocalDateTime localDateTime = LocalDateTime.now();    System.out.println("localDate:"+localDate);//2023-02-22    System.out.println("localTime:"+localTime);//17:25:36.590    System.out.println("localDateTime:"+localDateTime);//2023-02-22T17:25:36.590}

輸出結(jié)果:nWg28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片nWg28資訊網(wǎng)——每日最新資訊28at.com

可以看到不用做格式轉(zhuǎn)換就可以得到可讀性很高的日期格式。注意:ISO 8601規(guī)定的日期和時(shí)間分隔符是T。標(biāo)準(zhǔn)格式如下:nWg28資訊網(wǎng)——每日最新資訊28at.com

  • 日期:yyyy-MM-dd
  • 時(shí)間:HH:mm:ss
  • 帶毫秒的時(shí)間:HH:mm:ss.SSS
  • 日期和時(shí)間:yyyy-MM-dd'T'HH:mm:ss
  • 帶毫秒的日期和時(shí)間:yyyy-MM-dd'T'HH:mm:ss.SSS

獲取當(dāng)前時(shí)間的年月日時(shí)分秒

@Testpublic void test() {    LocalDateTime localDateTime = LocalDateTime.now(); // 獲取當(dāng)前時(shí)間    int year = localDateTime.getYear(); // 獲取年份 2023    int month = localDateTime.getMonthValue(); // 獲取月份 2    int day = localDateTime.getDayOfMonth(); // 獲取月中的天數(shù) 22    int hour = localDateTime.getHour(); // 獲取當(dāng)前的小時(shí) 17    int minute = localDateTime.getMinute(); // 獲取當(dāng)前分鐘 33    int second = localDateTime.getSecond(); // 獲取當(dāng)前秒數(shù) 22    System.out.println(year);    System.out.println(month);    System.out.println(day);    System.out.println(hour);    System.out.println(minute);    System.out.println(second);}

輸出結(jié)果:nWg28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片nWg28資訊網(wǎng)——每日最新資訊28at.com

給LocalDateTime賦值

在static目錄中新建kaptcha.html頁面,代碼如下:nWg28資訊網(wǎng)——每日最新資訊28at.com

public void test() {    LocalDateTime of = LocalDateTime.of(2023,2,22,22,22,22);    System.out.println(of); // 輸出2023-02-22T22:22:22}

時(shí)間與字符串相互轉(zhuǎn)換

@Testpublic void test() {    // 將字符串轉(zhuǎn)換為指定格式的時(shí)間(格式要和給定的格式一致,不然會(huì)報(bào)錯(cuò))    LocalDateTime parse = LocalDateTime.parse("2023-02-22 22:22:22", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));    LocalDateTime parse1 = LocalDateTime.parse("2023 02 22 22:22:22", DateTimeFormatter.ofPattern("yyyy MM dd HH:mm:ss"));    LocalDateTime parse2 = LocalDateTime.parse("2023.02.22 22:22:22", DateTimeFormatter.ofPattern("yyyy.MM.dd HH:mm:ss"));    System.out.println(parse); // 輸出2023-02-22T22:22:22    System.out.println(parse1); // 輸出2023-02-22T22:22:22    System.out.println(parse2); // 輸出2023-02-22T22:22:22    // 時(shí)間轉(zhuǎn)字符串    LocalDateTime now = LocalDateTime.now();    DateTimeFormatter of = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");    String dateTime = now.format(of);    System.out.println(dateTime); // 輸出 2023-02-22 17:56:18}

輸出結(jié)果:nWg28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片nWg28資訊網(wǎng)——每日最新資訊28at.com

時(shí)間運(yùn)算:加上對應(yīng)時(shí)間

LocalDateTime提供了對日期和時(shí)間進(jìn)行加減的非常簡單的鏈?zhǔn)秸{(diào)用,讓時(shí)間運(yùn)算變得非常簡單:nWg28資訊網(wǎng)——每日最新資訊28at.com

@Testpublic void test() {    LocalDateTime now = LocalDateTime.now(); // 當(dāng)前時(shí)間2023-02-22T18:00:19.352    LocalDateTime plusYears= now.plusYears(2); // 在當(dāng)前時(shí)間加上2年2025-02-22T18:00:19.352    LocalDateTime plusMnotallow= now.plusMonths(2);// 在當(dāng)前時(shí)間商加上2月2023-04-22T18:00:19.352    LocalDateTime plusDays= now.plusDays(2); // 在當(dāng)前時(shí)間加上2天2023-02-24T18:00:19.352    LocalDateTime plusHours= now.plusHours(2); // 在當(dāng)前時(shí)間加上2個(gè)小時(shí)2023-02-22T20:00:19.352    LocalDateTime plusMinutes= now.plusMinutes(30); // 在當(dāng)前時(shí)間加上30分鐘2023-02-22T18:30:19.352    LocalDateTime plusSeconds = now.plusSeconds(30); // 在當(dāng)前時(shí)間加上30秒2023-02-22T18:00:49.352    System.out.println(now);    System.out.println(plusYears);    System.out.println(plusMonths);    System.out.println(plusDays);    System.out.println(plusHours);    System.out.println(plusMinutes);    System.out.println(plusSeconds);}

輸出結(jié)果:nWg28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片nWg28資訊網(wǎng)——每日最新資訊28at.com

時(shí)間運(yùn)算:減去對應(yīng)時(shí)間

@Testpublic void test() {    LocalDateTime now = LocalDateTime.now(); // 當(dāng)前時(shí)間    LocalDateTime minusYears = now.minusYears(2); // 在當(dāng)前時(shí)間減上2年    LocalDateTime minusMonths = now.minusMonths(2);// 在當(dāng)前時(shí)間商減上2月    LocalDateTime minusDays = now.minusDays(2); // 在當(dāng)前時(shí)間減上2天    LocalDateTime minusHours = now.minusHours(2); // 在當(dāng)前時(shí)間減上2個(gè)小時(shí)    LocalDateTime minusMinutes = now.minusMinutes(30); // 在當(dāng)前時(shí)間減上30分鐘    LocalDateTime minusSeconds = now.minusSeconds(30); // 在當(dāng)前時(shí)間減上30秒    System.out.println("now:" + now);    System.out.println("minusYears:" + minusYears);    System.out.println("minusMonths:" + minusMonths);    System.out.println("minusDays:" + minusDays);    System.out.println("minusHours:" + minusHours);    System.out.println("minusMinutes:" + minusMinutes);    System.out.println("minusSeconds:" + minusSeconds);}

輸出結(jié)果:nWg28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片nWg28資訊網(wǎng)——每日最新資訊28at.com

兩個(gè)時(shí)間比較

@Testpublic void test() {    LocalDateTime now = LocalDateTime.now(); // 當(dāng)前時(shí)間    LocalDateTime now1 = now.plusYears(5); // 在當(dāng)前時(shí)間加上5年    //  給LocalDateTime 賦值    LocalDateTime of = LocalDateTime.of(2023,2,2,22,22,22);    LocalDateTime of1 = LocalDateTime.of(2023,8,5,1,1,1);    //兩個(gè)時(shí)間作比較,第一個(gè)時(shí)間減去第二個(gè)時(shí)間(如果年份相同,比較月份,月份相同比較天數(shù),以此類推)    int compareTo = now1.compareTo(now);    int compareTo1 = now.compareTo(now1);    int compareTo2 = now.compareTo(of);    int compareTo3 = now.compareTo(of1);    System.out.println(now);   // 輸出 2023-02-22T20:19:44.112v    System.out.println(now1); // 輸出 2028-02-22T20:19:44.112    System.out.println(of); // 輸出 2023-02-02T22:22:22    System.out.println(of1); // 輸出 2023-08-05T01:01:01    System.out.println(compareTo); // 輸出 5    System.out.println(compareTo1); // 輸出 -5    System.out.println(compareTo2); // 輸出 20    System.out.println(compareTo3); // 輸出 -6}

輸出結(jié)果:nWg28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片nWg28資訊網(wǎng)——每日最新資訊28at.com

利用Duration計(jì)算時(shí)間差

注意沒有計(jì)算相差的年和秒值,對于要計(jì)算相差的秒數(shù),可以利用計(jì)算毫秒來進(jìn)行轉(zhuǎn)換nWg28資訊網(wǎng)——每日最新資訊28at.com

@Testpublic void test() {    LocalDateTime now = LocalDateTime.now(); // 當(dāng)前時(shí)間    //  給LocalDateTime 賦值    LocalDateTime of = LocalDateTime.of(2022,2,22,2,2,2);    Duration duration = Duration.between(of,now); // 后面減去前面    long toDays = Duration.between(of,now).toDays(); //相差的天數(shù)    long toHours = Duration.between(of,now).toHours();//相差的小時(shí)數(shù)    long toMinutes = Duration.between(of,now).toMinutes();//相差的分鐘數(shù)    long toMillis = Duration.between(of,now).toMillis();//相差毫秒數(shù)    long toNanos = Duration.between(of,now).toNanos();//相差的納秒數(shù)    System.out.println("toDays:"+ toDays); // 輸出 toDays:365    System.out.println("toHours:"+ toHours); // 輸出 toHours:8778    System.out.println("toMinutes:"+ toMinutes); // 輸出 toMinutes:526732    System.out.println("toMillis:"+ toMillis); // 輸出 toMillis:31603973840    System.out.println("toNanos:"+ toNanos); // 輸出 toNanos:31603973840000000}

輸出結(jié)果:nWg28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片nWg28資訊網(wǎng)——每日最新資訊28at.com

改變當(dāng)前時(shí)間的年月日時(shí)分秒

@Testpublic void test() {    LocalDateTime now = LocalDateTime.now(); // 當(dāng)前時(shí)間    LocalDateTime withYear = now.withYear(2060); // 改變當(dāng)前年份(變成2060年)    LocalDateTime withMonth = now.withMonth(12); // 改變當(dāng)前月份(變成12月份)    LocalDateTime withDayOfMonth = now.withDayOfMonth(28); //改變當(dāng)前天數(shù)(變成28日)    LocalDateTime withHour = now.withHour(23); // 改變當(dāng)前小時(shí)數(shù)(變成23時(shí))    LocalDateTime withMinute = now.withMinute(30); // 改變當(dāng)前分鐘(變成30分鐘)    LocalDateTime withSecond = now.withSecond(23); // 改變當(dāng)前小時(shí)數(shù)(變成23時(shí))    LocalDateTime withDayOfYear = now.withDayOfYear(60); // 從一月一號開始加上60天    System.out.println(now);    System.out.println("withYear:"+ withYear);    System.out.println("withMonth:"+ withMonth);    System.out.println("withDayOfMonth:"+ withDayOfMonth);    System.out.println("withHour:"+ withHour);    System.out.println("withMinute:"+ withMinute);    System.out.println("withSecond:"+ withSecond);    System.out.println("withDayOfYear:"+ withDayOfYear);}

輸出結(jié)果:nWg28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片nWg28資訊網(wǎng)——每日最新資訊28at.com

自定義輸出的格式

@Testpublic void test() {    // 自定義格式化:    DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");    DateTimeFormatter dtf1 = DateTimeFormatter.ofPattern("yyyy.MM.dd HH:mm:ss");    System.out.println("自定義格式y(tǒng)yyy/MM/dd HH:mm:ss :"+dtf.format(LocalDateTime.now()));    System.out.println("自定義格式y(tǒng)yyy.MM.dd HH:mm:ss :"+dtf1.format(LocalDateTime.now()));    // 用自定義格式解析:    LocalDateTime dt2 = LocalDateTime.parse("2020/10/20 15:16:17", dtf);    System.out.println("格式解析:"+dt2);}

輸出結(jié)果:nWg28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片nWg28資訊網(wǎng)——每日最新資訊28at.com

LocalDateTime的with()方法

@Testpublic void test() {    // 本月第一天0:00時(shí)刻:    LocalDateTime firstDay = LocalDate.now().withDayOfMonth(1).atStartOfDay();    // 本月最后1天:    LocalDate lastDay = LocalDate.now().with(TemporalAdjusters.lastDayOfMonth());    // 下月第1天:    LocalDate nextMonthFirstDay = LocalDate.now().with(TemporalAdjusters.firstDayOfNextMonth());    // 本月第1個(gè)周一:    LocalDate firstWeekday = LocalDate.now().with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY));}

兩個(gè)日期前后的比較與判斷

@Testpublic void test() {    //判斷兩個(gè)時(shí)間點(diǎn)的前后    LocalDateTime now = LocalDateTime.now();    LocalDateTime target = LocalDateTime.of(2022, 2, 22, 22, 22, 22);    boolean isBefore = now.isBefore(target);    System.out.println("now:"+now);    System.out.println("target:"+target);    System.out.println("isBefore:"+isBefore);    System.out.println(LocalDate.now().isBefore(LocalDate.of(2022, 2, 22)));    System.out.println(LocalTime.now().isAfter(LocalTime.parse("08:15:00")));}

輸出結(jié)果:nWg28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片nWg28資訊網(wǎng)——每日最新資訊28at.com

結(jié)束語

LocalDateTime獲取時(shí)間以及計(jì)算都非常方便,而且是線程安全的,建議使用LocalDateTime。nWg28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-96271-0.html探索LocalDateTime的魔法:高效日期時(shí)間處理的秘訣與技巧

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: C#中的事件與委托:深入理解事件驅(qū)動(dòng)編程模型

下一篇: 用機(jī)器人開車,日本自動(dòng)駕駛有點(diǎn)抽象

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
国产精品日产欧美久久久久| 欧美三级在线| 久久婷婷激情| 蜜臀久久99精品久久久久久9| 女同一区二区| 欧美噜噜久久久xxx| 国产精品美女在线观看| 国精产品99永久一区一区| 亚洲激情午夜| 亚洲私拍自拍| 久久久激情视频| 欧美日韩123| 国产视频一区在线观看一区免费| 亚洲高清毛片| 亚洲性视频h| 久久人人爽国产| 欧美日韩日本国产亚洲在线| 国内激情久久| 一本久道综合久久精品| 久久精品国产亚洲5555| 欧美日本韩国在线| 国产日韩精品电影| 日韩午夜中文字幕| 久久天天狠狠| 国产精品黄视频| 91久久黄色| 欧美在线综合视频| 欧美视频一区二区三区…| 国语自产精品视频在线看一大j8| 日韩视频免费| 欧美中文字幕| 欧美精品精品一区| 黄色精品一二区| 亚洲一区二区av电影| 久久亚洲一区二区三区四区| 欧美日韩亚洲三区| 永久免费视频成人| 亚洲欧美www| 欧美精品高清视频| 国产一区二区三区丝袜| 99精品视频免费观看视频| 久久精品国产综合| 国产精品99一区二区| 亚洲高清在线| 久久成人这里只有精品| 欧美性开放视频| 91久久精品一区二区三区| 欧美呦呦网站| 欧美涩涩网站| 亚洲精品国产精品国自产在线| 欧美在线视频在线播放完整版免费观看| 欧美激情导航| 伊人久久大香线蕉综合热线 | 这里只有精品视频| 久久五月婷婷丁香社区| 欧美午夜电影在线| 亚洲老板91色精品久久| 久久久97精品| 国产日韩欧美在线播放| 亚洲专区欧美专区| 欧美肉体xxxx裸体137大胆| 91久久精品一区| 可以免费看不卡的av网站| 国产一区视频在线看| 亚洲欧美综合一区| 国产精品看片你懂得| 一区二区成人精品| 欧美人在线视频| 亚洲三级观看| 欧美黄色一区二区| 亚洲国产小视频在线观看| 久久久久国产精品人| 国产日韩高清一区二区三区在线| 中国成人亚色综合网站| 欧美精品日韩一本| 亚洲日本久久| 欧美成人自拍| 亚洲精品免费一二三区| 美日韩在线观看| 在线观看中文字幕亚洲| 久久综合色播五月| 在线日韩欧美视频| 久久综合伊人77777| 伊人久久综合97精品| 久久亚洲影院| 在线看片欧美| 欧美顶级艳妇交换群宴| 亚洲人成网站色ww在线| 欧美成人免费网站| 亚洲精品美女91| 欧美日韩国产高清| 一本色道久久综合一区| 欧美日韩一区在线视频| 中文精品视频一区二区在线观看| 欧美日一区二区在线观看 | 欧美日韩亚洲在线| 亚洲少妇最新在线视频| 欧美偷拍一区二区| 亚洲婷婷在线| 国产精品永久免费| 久久国产精品久久精品国产| 国产亚洲成av人在线观看导航 | 亚洲在线视频| 国产一区二区观看| 久久亚洲综合网| 国产精品欧美一区二区三区奶水| 午夜欧美不卡精品aaaaa| 国产日韩一区二区| 久久人人97超碰人人澡爱香蕉| 亚洲福利在线看| 亚洲午夜视频在线观看| 久久国产综合精品| 亚洲第一黄色| 欧美激情一区二区三级高清视频| 亚洲精选91| 国产精品欧美日韩| 久久精品一区蜜桃臀影院 | 在线免费观看视频一区| 欧美精品系列| 亚洲综合好骚| 国内精品国产成人| 欧美护士18xxxxhd| 亚洲欧美国产精品va在线观看| 国产欧美丝祙| 麻豆精品在线观看| 亚洲图片你懂的| 国产一区二区电影在线观看| 免费短视频成人日韩| 在线亚洲免费| 国产亚洲精品久久久| 欧美a级一区| 亚洲视频中文字幕| 合欧美一区二区三区| 欧美国产日韩一区二区三区| 中文在线一区| 影音先锋另类| 欧美午夜不卡视频| 久久久久久久综合色一本| 亚洲美女少妇无套啪啪呻吟| 国产日产精品一区二区三区四区的观看方式| 久久尤物视频| 亚洲性视频网站| 在线不卡a资源高清| 欧美日韩亚洲精品内裤| 欧美中在线观看| 亚洲日产国产精品| 国产欧美日韩综合一区在线播放| 玖玖玖国产精品| 亚洲在线观看视频网站| 亚洲动漫精品| 国产精品日韩欧美一区二区三区| 久久综合九色欧美综合狠狠| 亚洲一区三区视频在线观看 | 亚洲午夜久久久久久久久电影网| 国产自产v一区二区三区c| 欧美日韩另类在线| 久久久中精品2020中文| 亚洲婷婷免费| 亚洲国产精品国自产拍av秋霞| 国产精品美女久久福利网站| 你懂的视频一区二区| 欧美一级在线播放| av成人手机在线| 在线播放亚洲| 国产麻豆91精品| 欧美日韩亚洲一区| 欧美成人有码| 久久精品国产综合精品| 亚洲一区二区三区涩| 亚洲国产欧美在线人成| 国产欧美婷婷中文| 欧美日韩一区二区在线视频| 麻豆9191精品国产| 欧美一区国产二区| 亚洲一级黄色片| 亚洲另类自拍| 亚洲第一在线综合网站| 国产一区亚洲一区| 国产欧美精品日韩| 欧美午夜剧场| 欧美日产在线观看| 欧美成人精品一区| 玖玖在线精品| 久久疯狂做爰流白浆xx| 午夜欧美不卡精品aaaaa| 中文国产一区| 99精品视频一区二区三区| 亚洲人成网站精品片在线观看| 国产一区999| 国产目拍亚洲精品99久久精品| 欧美日韩精品免费观看视频| 欧美成黄导航| 欧美xart系列在线观看| 久久综合激情| 久久久一本精品99久久精品66| 久久aⅴ国产欧美74aaa| 欧美伊久线香蕉线新在线| 亚洲欧美日韩一区二区三区在线| 亚洲香蕉成视频在线观看| 一区二区欧美在线观看| a4yy欧美一区二区三区| av72成人在线| 在线视频欧美日韩| 亚洲欧美不卡|