国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

福建交通建設(shè)網(wǎng)站58黃頁網(wǎng)推廣公司

福建交通建設(shè)網(wǎng)站,58黃頁網(wǎng)推廣公司,怎么刪除網(wǎng)站的死鏈,如何做網(wǎng)站步驟文章目錄前言一、LocalDateTime1.1 獲取當(dāng)前時(shí)間LocalDate.now()1.2 獲取當(dāng)前時(shí)間的年、月、日、時(shí)分秒localDateTime.getYear()……1.3 給LocalDateTime賦值LocalDateTime.of()1.4 時(shí)間與字符串相互轉(zhuǎn)換LocalDateTime.parse()1.5 時(shí)間運(yùn)算——加上對(duì)應(yīng)時(shí)間LocalDateTime.now()…

文章目錄

  • 前言
  • 一、LocalDateTime
    • 1.1 獲取當(dāng)前時(shí)間LocalDate.now()
    • 1.2 獲取當(dāng)前時(shí)間的年、月、日、時(shí)分秒localDateTime.getYear()……
    • 1.3 給LocalDateTime賦值LocalDateTime.of()
    • 1.4 時(shí)間與字符串相互轉(zhuǎn)換LocalDateTime.parse()
    • 1.5 時(shí)間運(yùn)算——加上對(duì)應(yīng)時(shí)間LocalDateTime.now().plusYears(2)
    • 1.6 時(shí)間運(yùn)算——減去對(duì)應(yīng)時(shí)間LocalDateTime.now().minusYears(2)
    • 1.7 兩個(gè)時(shí)間比較LocalDateTime.now().compareTo()
    • 1.8 利用Duration計(jì)算時(shí)間差Duration.between(of,now).toMillis()
    • 1.9 改變當(dāng)前時(shí)間的年、月、日、時(shí)、分、秒LocalDateTime.now().withYear(2060)
    • 1.10 自定義輸出的格式DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
    • 1.11 LocalDateTime的with()方法
    • 1.12 兩個(gè)日期前后的比較與判斷LocalDateTime.now().isBefore()
  • 二、Util獲取當(dāng)前時(shí)間
    • 2.1 Date
    • 2.1.1 Date獲取當(dāng)前時(shí)間
    • 2.1.1 Date存在的缺陷
    • 2.2 Calendar
  • 三、System.currentTimeMillis()
  • 總結(jié)


前言


在開發(fā)時(shí)我們經(jīng)常需要獲取當(dāng)前時(shí)間或者對(duì)時(shí)間進(jìn)項(xiàng)處理(在某個(gè)時(shí)間的基礎(chǔ)上增加或者減少),java獲取時(shí)間的方法比較多,有LocalDateTime、Date、Calendar等,其中LocalDateTime是java8的新特性,相比較其它兩個(gè)而言,LocalDateTime有很多優(yōu)勢(shì),這也是最推薦使用的方法。
下面我們先來介紹一個(gè)LocalDateTime的用法,然后介紹Date、Calendar的用法,最后比較它們的區(qū)別。

一、LocalDateTime

JDK1.8版本中新引入的API,加強(qiáng)了對(duì)時(shí)間的管理,有很多特別好用的時(shí)間運(yùn)算方法,而且是線程安全的。

1.1 獲取當(dāng)前時(shí)間LocalDate.now()

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

輸出結(jié)果:
在這里插入圖片描述
可以看到不用做格式轉(zhuǎn)換就可以得到可讀性很高的日期格式。
注意:ISO 8601規(guī)定的日期和時(shí)間分隔符是T。標(biāo)準(zhǔn)格式如下:

日期: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

1.2 獲取當(dāng)前時(shí)間的年、月、日、時(shí)分秒localDateTime.getYear()……

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

輸出結(jié)果:
在這里插入圖片描述

1.3 給LocalDateTime賦值LocalDateTime.of()

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

輸出結(jié)果:
在這里插入圖片描述

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

    @Testvoid 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:22System.out.println(parse1); // 輸出2023-02-22T22:22:22System.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é)果:
在這里插入圖片描述

1.5 時(shí)間運(yùn)算——加上對(duì)應(yīng)時(shí)間LocalDateTime.now().plusYears(2)

LocalDateTime提供了對(duì)日期和時(shí)間進(jìn)行加減的非常簡單的鏈?zhǔn)秸{(diào)用,讓時(shí)間運(yùn)算變得非常簡單:

    @Testvoid test() {LocalDateTime now = LocalDateTime.now(); // 當(dāng)前時(shí)間2023-02-22T18:00:19.352LocalDateTime plusYears= now.plusYears(2); // 在當(dāng)前時(shí)間加上2年2025-02-22T18:00:19.352LocalDateTime plusMonths= now.plusMonths(2);// 在當(dāng)前時(shí)間商加上2月2023-04-22T18:00:19.352LocalDateTime plusDays= now.plusDays(2); // 在當(dāng)前時(shí)間加上2天2023-02-24T18:00:19.352LocalDateTime plusHours= now.plusHours(2); // 在當(dāng)前時(shí)間加上2個(gè)小時(shí)2023-02-22T20:00:19.352LocalDateTime plusMinutes= now.plusMinutes(30); // 在當(dāng)前時(shí)間加上30分鐘2023-02-22T18:30:19.352LocalDateTime plusSeconds = now.plusSeconds(30); // 在當(dāng)前時(shí)間加上30秒2023-02-22T18:00:49.352System.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é)果:
在這里插入圖片描述

1.6 時(shí)間運(yùn)算——減去對(duì)應(yīng)時(shí)間LocalDateTime.now().minusYears(2)

    @Testvoid 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é)果:
在這里插入圖片描述

1.7 兩個(gè)時(shí)間比較LocalDateTime.now().compareTo()

    @Testvoid 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.112vSystem.out.println(now1); // 輸出 2028-02-22T20:19:44.112System.out.println(of); // 輸出 2023-02-02T22:22:22System.out.println(of1); // 輸出 2023-08-05T01:01:01System.out.println(compareTo); // 輸出 5System.out.println(compareTo1); // 輸出 -5System.out.println(compareTo2); // 輸出 20System.out.println(compareTo3); // 輸出 -6}

輸出結(jié)果:

1.8 利用Duration計(jì)算時(shí)間差Duration.between(of,now).toMillis()

注意沒有計(jì)算相差的年和秒值,對(duì)于要計(jì)算相差的秒數(shù),可以利用計(jì)算毫秒來進(jìn)行轉(zhuǎn)換。

    @Testvoid 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:365System.out.println("toHours:"+ toHours); // 輸出 toHours:8778System.out.println("toMinutes:"+ toMinutes); // 輸出 toMinutes:526732System.out.println("toMillis:"+ toMillis); // 輸出 toMillis:31603973840System.out.println("toNanos:"+ toNanos); // 輸出 toNanos:31603973840000000}

輸出結(jié)果:
在這里插入圖片描述

1.9 改變當(dāng)前時(shí)間的年、月、日、時(shí)、分、秒LocalDateTime.now().withYear(2060)

    @Testvoid 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); // 從一月一號(hào)開始加上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é)果:
在這里插入圖片描述

1.10 自定義輸出的格式DateTimeFormatter.ofPattern(“yyyy/MM/dd HH:mm:ss”);

    @Testvoid 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é)果:
在這里插入圖片描述

1.11 LocalDateTime的with()方法

// 本月第一天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));

輸出結(jié)果:

1.12 兩個(gè)日期前后的比較與判斷LocalDateTime.now().isBefore()

    @Testvoid 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é)果:
在這里插入圖片描述

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

2.1 Date

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

    @Testvoid test() {Date date = new Date(); // 返回當(dāng)前時(shí)間戳格式SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 改變格式System.out.println(dateFormat.format(date)); // 獲取當(dāng)前時(shí)間  2023-02-22 21:24:53}

2.1.1 Date存在的缺陷

如果不格式化,打印出的日期可讀性差:

    @Testvoid test() {Date date = new Date(); // 返回當(dāng)前時(shí)間戳格式System.out.println(date); // 獲取當(dāng)前時(shí)間  Wed Feb 22 21:34:18 CST 2023}

通常會(huì)使用SimpleDateFormate來實(shí)現(xiàn)格式化,但是sdf最大的問題是線程不安全的。

2.2 Calendar

    @Testvoid test() {Calendar cal= Calendar.getInstance(); // 返回當(dāng)前時(shí)間戳格式SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 改變格式System.out.println(dateFormat.format(cal.getTime())); // 獲取當(dāng)前時(shí)間int y=cal.get(Calendar.YEAR); // 獲取當(dāng)前年份int m=cal.get(Calendar.MONTH); // 獲取當(dāng)前月份int d=cal.get(Calendar.DATE); // 獲取當(dāng)前日期int h=cal.get(Calendar.HOUR_OF_DAY); // 獲取當(dāng)前小時(shí)int mi=cal.get(Calendar.MINUTE); // 獲取當(dāng)前分鐘int s=cal.get(Calendar.SECOND); // 獲取當(dāng)前秒數(shù)System.out.println("現(xiàn)在時(shí)刻是"+y+"年"+m+"月"+d+"日"+h+"時(shí)"+mi+"分"+s+"秒");}

三、System.currentTimeMillis()

SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd 'at' HH:mm:ss z"); // 改變格式
Date date = new Date(System.currentTimeMillis()); // 返回當(dāng)前時(shí)間戳格式
System.out.println(formatter.format(date)); // 獲取當(dāng)前時(shí)間

總結(jié)

LocalDateTime獲取時(shí)間以及計(jì)算都非常方便,而且是線程安全的,簡易使用LocalDateTime。

http://m.aloenet.com.cn/news/31312.html

相關(guān)文章:

  • 桂林哪里可以做網(wǎng)站百度推廣區(qū)域代理
  • 招聘網(wǎng)站有哪些平臺(tái)洛陽網(wǎng)站建設(shè)
  • 第三方網(wǎng)站下載素材是怎么做南寧優(yōu)化推廣服務(wù)
  • 注冊(cè)個(gè)網(wǎng)站要多少錢跟我學(xué)seo從入門到精通
  • 怎么增加網(wǎng)站訪問量網(wǎng)站優(yōu)化培訓(xùn)學(xué)校
  • 網(wǎng)站 相對(duì)路徑國際軍事形勢(shì)最新消息
  • 甘肅城鄉(xiāng)建設(shè)局網(wǎng)站有什么引流客源的軟件
  • 做論壇和做網(wǎng)站有什么區(qū)別搜資源的搜索引擎
  • 網(wǎng)站視頻封面怎么做百度客服電話是多少
  • 上海網(wǎng)站建設(shè)公司 紅威網(wǎng)站制作免費(fèi)
  • 可視化導(dǎo)航網(wǎng)站源碼百度的排名規(guī)則詳解
  • 河南營銷網(wǎng)站建設(shè)聯(lián)系方式搜索引擎有哪些分類
  • 58同城煙臺(tái)網(wǎng)站建設(shè)國內(nèi)營銷推廣渠道
  • 鄭州哪里做網(wǎng)站最好免費(fèi)的網(wǎng)站
  • 網(wǎng)站建設(shè) 源代碼神秘網(wǎng)站
  • wordpress怎么自動(dòng)生成內(nèi)鏈網(wǎng)站seo綜合診斷
  • 地圖網(wǎng)站怎么做建立網(wǎng)站流程
  • 上海網(wǎng)站建設(shè)領(lǐng)導(dǎo)品牌公司官網(wǎng)怎么做
  • 濰坊做網(wǎng)站多少錢重慶seo代理計(jì)費(fèi)
  • 建設(shè)項(xiàng)目公示網(wǎng)站百度百科詞條創(chuàng)建入口
  • 做腳本網(wǎng)站外貿(mào)網(wǎng)站建設(shè)推廣
  • 做實(shí)驗(yàn)用哪些國外網(wǎng)站南寧優(yōu)化網(wǎng)站收費(fèi)
  • 巫山集團(tuán)網(wǎng)站建設(shè)網(wǎng)絡(luò)推廣外包怎么接單
  • 網(wǎng)站建設(shè)教程速成廣東seo推廣費(fèi)用
  • 網(wǎng)站認(rèn)領(lǐng)app推廣策劃方案
  • 福建建筑人才市場官網(wǎng)seo工具有哪些
  • 響應(yīng)式網(wǎng)站的發(fā)展現(xiàn)狀網(wǎng)站設(shè)計(jì)與開發(fā)
  • python做網(wǎng)站的優(yōu)勢(shì)今日新聞10條簡短
  • 網(wǎng)絡(luò)系統(tǒng)的價(jià)值跟用戶數(shù)量成重慶seo排名
  • 酒泉做網(wǎng)站百度推廣優(yōu)化技巧