Java基礎篇--日期時間類

目錄

前言

Instant(時間戳)類

LocalData(日期)類

LocalTime(時間)類

LocalDataTime(日期時間)類

Duration(時間間隔)類

Period(日期間隔)類

Clock(獲取時區)類


前言

在開發中經常需要處理日期和時間,Java提供了一套專門用于處理日期時間的API,在日期時間類中了包含LocalDate類、LocalTime類、Instant類、Duration類以及Period類等,這些類都包含在java.time包中。

類的名稱

功能描述

Instant

表示時刻,代表的是時間戳

LocalDate

不包含具體時間的日期

LocalTime

不含日期的時間

LocalDateTime

包含了日期及時間

Duration

基于時間的值測量時間量

Period

計算日期時間差異,只能精確到年月日

Clock

時鐘系統,用于查找當前時刻

Instant(時間戳)類

Instant 類代表的是某個時間。其內部是由兩個Long字段組成,

  • 第一部分是保存自標準Java計算時代(即1970年1月1日開始)至當前時間的秒數,即時間戳(Timestamp)。該時間戳表示從參考時間點開始經過的秒數。

  • 第二部分是保存納秒數。納秒是時間的更精細單位,表示每秒鐘的十億分之一。

常用方法

  • now():使用系統時鐘獲取當前瞬時。
  • now(Clock clock):使用指定時鐘獲取當前瞬時。
  • ofEpochSecond(long epochSecond):使用自標準Java計算時代開始的秒數獲得一個Instant實例。
  • ofEpochMilli(long epochMilli):使用自標準Java計算時代開始的毫秒數獲得一個Instant實例。
  • getEpochSecond():獲取時間戳的秒數部分。
  • getNano():獲取時間戳的納秒數部分。
  • parse(CharSequence text):將表示時間的字符串轉換為對應的Instant對象。
  • from(TemporalAccessor tenporal):從時間對象獲取一個Instant的實例。
  • plusSeconds(long seconds)?和?plusMillis(long millis):在時間戳的基礎上增加指定的秒數或毫秒數。
  • minusSeconds()?和?minusMillis():在時間戳的基礎上減去指定的秒數或毫秒數。
  • isBefore()?和?isAfter()?方法:比較兩個時間戳的先后順序。

示例代碼:

import java.time.Clock;
import java.time.Instant;public class InstantExample {public static void main(String[] args) {// 獲取當前時間的瞬時實例Instant now = Instant.now();System.out.println("當前時間:" + now);// 使用指定時鐘獲取當前時間的瞬時實例Clock clock = Clock.systemUTC();Instant nowWithClock = Instant.now(clock);System.out.println("當前時間(使用指定時鐘):" + nowWithClock);// 使用從自標準Java計算時代開始的秒數創建Instant實例        Instant epochSecondInstant = Instant.ofEpochSecond(1234567890);System.out.println("自1970年1月1日起的秒數對應的時間:" + epochSecondInstant);// 使用從自標準Java計算時代開始的毫秒數創建Instant實例Instant epochMilliInstant = Instant.ofEpochMilli(1627368000000L);System.out.println("自1970年1月1日起的毫秒數對應的時間:" + epochMilliInstant);// 獲取時間戳的秒數部分long seconds = now.getEpochSecond();System.out.println("時間戳的秒數部分:" + seconds);// 獲取時間戳的納秒數部分int nanos = now.getNano();System.out.println("時間戳的納秒數部分:" + nanos);// 將表示時間的字符串轉換為Instant對象String timeString = "2023-08-14T10:30:00Z";Instant parsedInstant = Instant.parse(timeString);System.out.println("解析后的時間:" + parsedInstant);// 在時間戳的基礎上增加指定的秒數或毫秒數Instant plusSecondsInstant = now.plusSeconds(3600);Instant plusMillisInstant = now.plusMillis(1000);System.out.println("增加1小時后的時間:" + plusSecondsInstant);System.out.println("增加1秒后的時間:" + plusMillisInstant);// 在時間戳的基礎上減去指定的秒數或毫秒數Instant minusSecondsInstant = now.minusSeconds(1800);Instant minusMillisInstant = now.minusMillis(500);System.out.println("減去30分鐘后的時間:" + minusSecondsInstant);System.out.println("減去0.5秒后的時間:" + minusMillisInstant);// 比較兩個時間戳的先后順序Instant earlierInstant = Instant.parse("2023-08-14T09:00:00Z");Instant laterInstant = Instant.parse("2023-08-14T11:00:00Z");boolean isBefore = earlierInstant.isBefore(laterInstant);boolean isAfter = earlierInstant.isAfter(laterInstant);System.out.println("earlierInstant是否在laterInstant之前:" + isBefore);System.out.println("earlierInstant是否在laterInstant之后:" + isAfter);}
}

運行結果:

當前時間:2023-08-14T09:41:00.027378100Z
當前時間(使用指定時鐘):2023-08-14T09:41:00.037343Z
自1970年1月1日起的秒數對應的時間:2009-02-13T23:31:30Z
自1970年1月1日起的毫秒數對應的時間:2021-07-27T06:40:00Z
時間戳的秒數部分:1692006060
時間戳的納秒數部分:27378100
解析后的時間:2023-08-14T10:30:00Z
增加1小時后的時間:2023-08-14T10:41:00.027378100Z
增加1秒后的時間:2023-08-14T09:41:01.027378100Z
減去30分鐘后的時間:2023-08-14T09:11:00.027378100Z
減去0.5秒后的時間:2023-08-14T09:40:59.527378100Z
earlierInstant是否在laterInstant之前:true
earlierInstant是否在laterInstant之后:false

LocalData(日期)類

LocalData類是Java 8引入的日期類,用于表示日期(年、月、日)信息。該類具有以下方法:

  1. now():這是一個靜態方法,返回表示當前日期的LocalDate對象。例如,LocalDate.now()將返回表示今天日期的對象。
  2. of(int year, int month, int dayOfMonth):這是另一個靜態方法,通過指定年、月、日創建LocalDate對象。參數year表示年份,month表示月份(1到12之間),dayOfMonth表示月份中的某一天。
  3. format(DateTimeFormatter formatter):該方法可將LocalDate對象按照指定的格式轉換為字符串表示。需要傳入一個DateTimeFormatter對象,可以使用預定義的格式或自定義格式。例如,date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))將返回帶有“年-月-日”格式的日期字符串。
  4. plusYears(long years) / minusYears(long years):這些方法用于在現有的LocalDate對象上增加或減少指定的年數。參數years表示要增加或減少的年數。
  5. plusMonths(long months) / minusMonths(long months):與上述方法類似,這些方法用于在現有的LocalDate對象上增加或減少指定的月數。
  6. plusDays(long days) / minusDays(long days):這些方法用于在現有的LocalDate對象上增加或減少指定的天數。
  7. isBefore(LocalDate other) / isAfter(LocalDate other):這兩個方法用于比較兩個LocalDate對象的先后順序。isBefore()方法返回一個布爾值,表示該日期是否在參數日期之前;isAfter()方法返回一個布爾值,表示該日期是否在參數日期之后。
  8. getYear() / getMonthValue() / getDayOfMonth():這些方法用于獲取LocalDate對象的年、月、日信息。
  9. isLeapYear():用于判斷指定年份是否為閏年。

示例代碼:

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;public class myclass {public static void main(String[] args) {// 獲取當前日期LocalDate currentDate = LocalDate.now();System.out.println("當前日期:" + currentDate);// 創建指定日期LocalDate customDate = LocalDate.of(2023, 8, 14);System.out.println("自定義日期:" + customDate);// 格式化日期為字符串String formattedDate = customDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));System.out.println("格式化后的日期:" + formattedDate);// 增減年份LocalDate futureDate = customDate.plusYears(2);System.out.println("增加兩年后的日期:" + futureDate);// 判斷日期先后boolean isBefore = customDate.isBefore(currentDate);boolean isAfter = customDate.isAfter(currentDate);System.out.println("自定義日期是否在當前日期之前:" + isBefore);System.out.println("自定義日期是否在當前日期之后:" + isAfter);// 獲取年、月、日int year = customDate.getYear();int month = customDate.getMonthValue();int dayOfMonth = customDate.getDayOfMonth();System.out.println("年:" + year);System.out.println("月:" + month);System.out.println("日:" + dayOfMonth);// 判斷閏年boolean isLeapYear = customDate.isLeapYear();System.out.println("自定義日期所在年份是否為閏年:" + isLeapYear);}
}

運行結果:

當前日期:2023-08-14
自定義日期:2023-08-14
格式化后的日期:2023-08-14
增加兩年后的日期:2025-08-14
自定義日期是否在當前日期之前:false
自定義日期是否在當前日期之后:false
年:2023
月:8
日:14
自定義日期所在年份是否為閏年:false

LocalTime(時間)

LocalTime類用來表示時間,通常表示的是小時分鐘秒。與LocalData類一樣,該類不能代表時間線上的即時信息,只是時間的描述。在LocalTime類中提供了獲取時間對象的方法,與LocalData用法類似。

同時LocalTime類也提供了與日期類相對應的時間格式化、增減時分秒等常用方法,這些方法與LocalData(日期)類相對應,這里我們不再詳細列舉。

示例代碼:

import java.time.LocalTime;
import java.time.format.DateTimeFormatter;public class LocalTimeExample {public static void main(String[] args) {// 獲取當前時間LocalTime currentTime = LocalTime.now();System.out.println("當前時間:" + currentTime);// 創建指定時間LocalTime customTime = LocalTime.of(12, 30, 45);System.out.println("自定義時間:" + customTime);// 格式化時間為字符串String formattedTime = customTime.format(DateTimeFormatter.ofPattern("HH:mm:ss"));System.out.println("格式化后的時間:" + formattedTime);// 增減小時數LocalTime futureTime = customTime.plusHours(2);System.out.println("增加兩小時后的時間:" + futureTime);// 判斷時間先后boolean isBefore = customTime.isBefore(currentTime);boolean isAfter = customTime.isAfter(currentTime);System.out.println("自定義時間是否在當前時間之前:" + isBefore);System.out.println("自定義時間是否在當前時間之后:" + isAfter);// 獲取小時、分鐘、秒int hour = customTime.getHour();int minute = customTime.getMinute();int second = customTime.getSecond();System.out.println("小時:" + hour);System.out.println("分鐘:" + minute);System.out.println("秒:" + second);}
}

運行結果:

當前時間:18:04:40.272290700
自定義時間:12:30:45
格式化后的時間:12:30:45
增加兩小時后的時間:14:30:45
自定義時間是否在當前時間之前:true
自定義時間是否在當前時間之后:false
小時:12
分鐘:30
秒:45

LocalDataTime(日期時間)類

LocalDataTime類是日期(LocalDate)類與時間(LocalTime)類的綜合,它即包含日期也包含時間,通過查看API可以知道,LocalDataTime類中的方法包含了LocalData類與LocalTime類的方法。

需要注意的是,LocalDateTime默認的格式是 2020-02-29T21:23:26.774,這可能與我們經常使用的格式不太符合,所以它經常和DateTimeFormatter一起使用指定格式,除了LocalData與LocalTime類中的方法,額外提供了轉換的方法。

以下是一些LocalDateTime類常用的方法:

  1. now():靜態方法,返回當前日期和時間的LocalDateTime對象。
  2. of(int year, int month, int dayOfMonth, int hour, int minute) / of(int year, int month, int dayOfMonth, int hour, int minute, int second):靜態方法,通過指定年、月、日、小時、分鐘以及秒數(可選)創建LocalDateTime對象。
  3. parse(CharSequence text):靜態方法,將字符串解析為LocalDateTime對象。
  4. format(DateTimeFormatter formatter):將LocalDateTime對象按照指定格式轉換為字符串表示。
  5. toLocalDate():獲取LocalDateTime對象的日期部分,返回LocalDate對象。
  6. toLocalTime():獲取LocalDateTime對象的時間部分,返回LocalTime對象。
  7. plusYears(long years) / minusYears(long years):在現有的LocalDateTime對象上增加或減少指定年數。
  8. plusMonths(long months) / minusMonths(long months):在現有的LocalDateTime對象上增加或減少指定月數。
  9. plusDays(long days) / minusDays(long days):在現有的LocalDateTime對象上增加或減少指定天數。
  10. plusHours(long hours) / minusHours(long hours):在現有的LocalDateTime對象上增加或減少指定小時數。
  11. plusMinutes(long minutes) / minusMinutes(long minutes):在現有的LocalDateTime對象上增加或減少指定分鐘數。
  12. plusSeconds(long seconds) / minusSeconds(long seconds):在現有的LocalDateTime對象上增加或減少指定秒數。
  13. getYear() / getMonthValue() / getDayOfMonth():獲取LocalDateTime對象的年、月、日信息。

示例代碼:?

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;public class myclass {public static void main(String[] args) {// 獲取當前日期和時間LocalDateTime currentDateTime = LocalDateTime.now();System.out.println("當前日期和時間:" + currentDateTime);// 創建指定的日期和時間LocalDateTime customDateTime = LocalDateTime.of(2023, 8, 14, 12, 30);System.out.println("自定義日期和時間:" + customDateTime);// 格式化日期時間為字符串String formattedDateTime = customDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));System.out.println("格式化后的日期和時間:" + formattedDateTime);// 增減年數、月數、天數、小時數、分鐘數、秒數LocalDateTime futureDateTime = customDateTime.plusYears(1).minusMonths(2).plusDays(15).minusHours(3).plusMinutes(10).plusSeconds(30);System.out.println("操作后的日期和時間:" + futureDateTime);// 獲取日期和時間部分LocalDate datePart = customDateTime.toLocalDate();LocalTime timePart = customDateTime.toLocalTime();System.out.println("日期部分:" + datePart);System.out.println("時間部分:" + timePart);// 獲取年、月、日信息int year = customDateTime.getYear();int month = customDateTime.getMonthValue();int dayOfMonth = customDateTime.getDayOfMonth();System.out.println("年:" + year);System.out.println("月:" + month);System.out.println("日:" + dayOfMonth);}
}

運行結果:

當前日期和時間:2023-08-14T18:09:24.472147600
自定義日期和時間:2023-08-14T12:30
格式化后的日期和時間:2023-08-14 12:30:00
操作后的日期和時間:2024-06-29T09:40:30
日期部分:2023-08-14
時間部分:12:30
年:2023
月:8
日:14

Duration(時間間隔)類

Duration類是Java 8引入的一個用于表示時間間隔的類。它可用于計算兩個時間點之間的差異,以及在不同單位(如秒、分鐘、小時等)之間進行轉換。

以下是一些Duration類常用的方法:

  1. ofDays(long days) / ofHours(long hours) / ofMinutes(long minutes):靜態方法,創建一個持續時間,表示指定的天數、小時數或分鐘數。
  2. ofSeconds(long seconds) / ofMillis(long milliseconds) / ofNanos(long nanos):靜態方法,創建一個持續時間,表示指定的秒數、毫秒數或納秒數。
  3. between(Temporal startInclusive, Temporal endExclusive):靜態方法,創建一個持續時間,表示從起始時間到結束時間之間的差異。
  4. plus(Duration duration) / minus(Duration duration):在現有的Duration對象上增加或減少另一個Duration對象的持續時間。
  5. toDays() / toHours() / toMinutes():將持續時間轉換為對應的天數、小時數或分鐘數。
  6. toSeconds() / toMillis() / toNanos():將持續時間轉換為對應的秒數、毫秒數或納秒數。
  7. getSeconds() / getNano():獲取持續時間中的秒數和納秒數。
  8. isNegative() / isZero():判斷持續時間是否為負值或零值。

示例代碼:??

import java.time.Duration;public class myclass {public static void main(String[] args) {// 創建一個持續時間,表示5小時30分鐘15秒Duration duration1 = Duration.ofHours(5).plusMinutes(30).plusSeconds(15);System.out.println("Duration 1: " + duration1); // 輸出:PT5H30M15S// 創建一個持續時間,表示1分鐘Duration duration2 = Duration.ofMinutes(1);System.out.println("Duration 2: " + duration2); // 輸出:PT1M// 計算兩個持續時間之間的差異Duration difference = duration1.minus(duration2);System.out.println("Difference: " + difference); // 輸出:PT5H29M15S// 獲取持續時間的小時數、分鐘數和秒數long hours = difference.toHours();long minutes = difference.toMinutesPart();long seconds = difference.toSecondsPart();System.out.println("Hours: " + hours); // 輸出:5System.out.println("Minutes: " + minutes); // 輸出:29System.out.println("Seconds: " + seconds); // 輸出:15// 判斷持續時間是否為負值或零值boolean isNegative = difference.isNegative();boolean isZero = difference.isZero();System.out.println("是負的? " + isNegative); // 輸出:falseSystem.out.println("是零嗎? " + isZero); // 輸出:false}
}

Period(日期間隔)類

?Period主要用于計算兩個日期的間隔,與Duration相同,也是通過between計算日期間隔,并提供了獲取年月日的三個常用方法,分別是 getYears()、getMonths()和getDays()。

示例代碼:??

import java.time.LocalDate;
import java.time.Period;public class myclass {public static void main(String[] args) {// 創建兩個日期LocalDate startDate = LocalDate.of(2023, 1, 1);LocalDate endDate = LocalDate.of(2023, 4, 30);// 計算日期之間的差異Period period = Period.between(startDate, endDate);System.out.println("日期間隔: " + period); // 輸出:P3M29D// 獲取年、月、日的差異int years = period.getYears();int months = period.getMonths();int days = period.getDays();System.out.println("年: " + years); // 輸出:0System.out.println("月: " + months); // 輸出:3System.out.println("日: " + days); // 輸出:29// 添加日期間隔到指定日期LocalDate newDate = startDate.plus(period);System.out.println("新日期: " + newDate); // 輸出:2023-04-30// 判斷日期間隔是否為負值或零值boolean isNegative = period.isNegative();boolean isZero = period.isZero();System.out.println("是否為負值? " + isNegative); // 輸出:falseSystem.out.println("是否為零值? " + isZero); // 輸出:false}
}

Clock(獲取時區)類

Clock類是Java中用于獲取當前時間、日期和時區信息的抽象類。它提供了一種通用的方式來訪問系統時鐘,并以不同的時區獲取當前時間。

  1. systemDefaultZone():靜態方法,返回使用系統默認時區的系統時鐘。
  2. systemUTC():靜態方法,返回使用協調世界時(UTC)的系統時鐘。
  3. tick(Clock fixedClock, Duration tickDuration):靜態方法,返回一個包裝了指定時鐘的"滴答"時鐘,每次前進指定的時長。
  4. fixed(Instant fixedInstant, ZoneId zone):靜態方法,返回一個固定的時鐘,始終返回指定的瞬間和時區。
  5. offset(Clock baseClock, Duration offsetDuration):靜態方法,返回一個相對于基準時鐘偏移指定持續時間的時鐘。
  6. millis():實例方法,返回從1970年1月1日午夜開始的毫秒數。
  7. instant():實例方法,返回當前時鐘的當前瞬間。
  8. getZone():實例方法,返回時鐘的時區信息。

示例代碼:???

import java.time.Clock;
import java.time.Duration;
import java.time.Instant;
import java.time.ZoneId;public class myclass {public static void main(String[] args) {// 獲取系統默認時區的時鐘Clock systemDefaultClock = Clock.systemDefaultZone();System.out.println("系統默認時鐘:" + systemDefaultClock);// 獲取使用協調世界時(UTC)的系統時鐘Clock systemUTCClock = Clock.systemUTC();System.out.println("系統UTC時鐘:" + systemUTCClock);// 創建一個滴答時鐘,每次前進1秒鐘Clock tickClock = Clock.tick(systemDefaultClock, Duration.ofSeconds(1));System.out.println("滴答時鐘:" + tickClock);// 創建一個固定的時鐘,始終返回指定的瞬間和時區Instant fixedInstant = Instant.parse("2022-01-01T00:00:00Z");ZoneId fixedZone = ZoneId.of("Asia/Shanghai");//亞洲/上海Clock fixedClock = Clock.fixed(fixedInstant, fixedZone);System.out.println("固定時鐘:" + fixedClock);// 創建一個相對于基準時鐘偏移10秒鐘的時鐘Clock baseClock = Clock.systemDefaultZone();Duration offsetDuration = Duration.ofSeconds(10);Clock offsetClock = Clock.offset(baseClock, offsetDuration);System.out.println("偏移時鐘:" + offsetClock);// 獲取當前時鐘的毫秒數long millis = systemDefaultClock.millis();System.out.println("毫秒數:" + millis);// 獲取當前時鐘的當前瞬間Instant instant = systemDefaultClock.instant();System.out.println("當前瞬間:" + instant);// 獲取當前時鐘的時區信息ZoneId zone = systemDefaultClock.getZone();System.out.println("時區:" + zone);}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/36541.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/36541.shtml
英文地址,請注明出處:http://en.pswp.cn/news/36541.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Git 代碼分支規范

目的 俗話說:沒有規矩,不成方圓。遵循一個好的規章制度能讓你的工作事半功倍。同時也可以展現出你做事的認真的態度以及你的專業性,不會顯得雜亂無章,管理困難。Git分支規范也是一樣。當遵循了某種約定的Git分支,在代…

若依框架淺淺介紹

由若依官網所給介紹可知 1、文件結構介紹 在ruoyi-admin的pom.xml文件中引入了ruoyi-framework、ruoyi-quartz和ruoyi-generatior模塊,在ruoyi-framework的pom.xml文件中引入了ruoyi-system模塊。 2、技術棧介紹 前端:Vue、Element UI后端&#xff1a…

Redis持久化機制簡介

當涉及到Redis的持久化時,有兩種主要的持久化方式:RDB(Redis Database)快照和AOF(Append-Only File)日志。這些方式可以根據需求的不同,選擇適合的策略。 RDB(Redis Database&#…

第1章:緒論

科學、技術、工程、應用 科學:是什么、為什么技術:怎么做工程:怎樣做的多快好省應用:怎么使用 定義 機器學習:利用經驗改善系統自身的性能。 研究 智能數據分析(數據分析算法) 典型的機器…

電腦ip地址怎么改 ip地址怎么改到別的城市

一、ip地址怎么改到別的城市 1.ip地址怎么改到別的城市,1、重啟WIFI路由設備 一般手機或電腦在家或公司上網時都是接入到路由器的WIFI網絡,再由路由器分配上網IP地址,如果要更換上網IP那么重啟路由器設備后,路由器會向網絡運營商進行寬帶的重新撥號,此時手機或電腦設…

【【verilog 典型電路設計之加法器樹乘法器】】

verilog 典型電路設計之加法器樹乘法器 加法器樹乘法器 加法器樹乘法器的設計思想是“移位后加”,并且加法運算采用加法器樹的形式。乘法運算的過程是,被乘數與乘數的每一位相乘并且乘以相應的權值,最后將所得的結果相加,便得到了…

mongodb:環境搭建

mongodb 是什么? MongoDB是一款為web應用程序和互聯網基礎設施設計的數據庫管理系統。沒錯MongoDB就是數據庫,是NoSQL類型的數據庫 為什么要用mongodb? (1)MongoDB提出的是文檔、集合的概念,使用BSON&am…

【Go】常見的四個內存泄漏問題

Goroutine沒有順利結束 1、這里更多的是由于channelforselect導致的,錯誤的寫法導致了發送者或接收者沒有發現channel已經關閉,任務已經結束了,卻仍然在嘗試輸入輸出https://geektutu.com/post/hpg-exit-goroutine.html Map的remove方法不會…

selenium.webdriver Python爬蟲教程

文章目錄 selenium安裝和使用 selenium安裝和使用 pip install selenium 下載對應的瀏覽器驅動 實例化瀏覽器 from selenium import webdriverbrowser webdriver.Chrome()元素定位 控制瀏覽器

HTB-Keeper

HTB-Keeper 信息收集80端口 lnorgaardroot 信息收集 80端口 80主頁給了一個跳轉的鏈接 跟隨鏈接后到了一個登陸界面。 嘗試搜索默認密碼。 通過賬號root:password登錄。不知道為什么我登陸了兩次才成功。 通過搜索在Admin->Users->Select里面發現了用戶信息。 lno…

WS2812B————動/靜態顯示

一,系統架構 二,芯片介紹 1.管腳說明 2.數據傳輸時間 3.時序波形 4.數據傳輸方法 5.常用電路連接 三,代碼展示及說明 驅動模塊 在驅動模塊首先選擇使用狀態機,其中包括,空閑狀態,復位清空狀態&#xff0c…

怎么把圖片表格轉換成word表格?幾個步驟達成

在處理文檔時,圖片表格的轉換是一個常見的需求。而手動輸入表格是非常耗時的,因此,使用文本識別軟件來自動轉換圖片表格可以大大提高工作效率。在本文中,我們將介紹如何使用OCR文字識別技術來將圖片表格轉換為Word表格。 OCR文字識…

Vue3+Element plus+pageHelper實現分頁

安裝element plus npm install element-plus --save引入 修改main.js: import { createApp } from vue import App from ./App.vue import ElementPlus from element-plus import element-plus/dist/index.cssconst app createApp(App) app.use(ElementPlus) ap…

15.3 【Linux】循環執行的例行性工作調度

相對于 at 是僅執行一次的工作,循環執行的例行性工作調度則是由 cron (crond) 這個系統服務來控制的。剛剛談過 Linux 系統上面原本就有非常多的例行性工作,因此這個系統服務是默認啟動的。另外, 由于使用者自己也可以…

棧和隊列--受限制的線性表

目錄 和隊列的定義和特點 1.1棧的定義和特點、 1.2隊列的定義和特點 1.3棧和隊列的應用 2.棧的表示和操作的實現 2.1棧的類型定義 2.2順序棧的表示和實現 2.2.1初始化 2.2.2入棧 2.2.3出棧 2.2.4取棧頂元素 2.3鏈棧的表示和實現 2.2.1初始化 2.2.2入棧 2.2.3出棧…

Java-運算符和控制語句(下)(基于c語言的補充)

輸出到控制臺 System.out.println(msg); // 輸出一個字符串, 帶換行 System.out.print(msg); // 輸出一個字符串, 不帶換行 System.out.printf(format, msg); // 格式化輸出 從鍵盤輸入 使用 Scanner 讀取字符串/整數/浮點數 首先需要導入util包 自動導入util包 這里把回車看…

如何選擇最佳的文件傳輸協議?(FTP、TFTP、Raysync)

在數字化時代,通過互聯網傳輸文件是一項常見的任務。因此,選擇適合您企業需求的文件傳輸協議非常重要。 文件傳輸協議是發送方和接收方之間的一套規則和信息。它的作用就像網絡兩端都能理解的一種語言,使得數據可以正確輸出并帶有正確的文件…

【高頻面試題】JVM篇

文章目錄 一、JVM組成1.什么是程序計數器2.什么是Java堆?3.能不能介紹一下方法區(元空間)4.你聽過直接內存嗎5.什么是虛擬機棧6.垃圾回收是否涉及棧內存?7.棧內存分配越大越好嗎?8.方法內的局部變量是否線程安全?9.什么…

NIO 非阻塞式IO

NIO Java NIO 基本介紹 Java NIO 全稱 Java non-blocking IO,是指 JDK 提供的新 API。從 JDK1.4 開始,Java 提供了一系列改進的輸入/輸出的新特性,被統稱為 NIO(即 NewIO),是同步非阻塞的。NIO 相關類都被…

01-Spark環境部署

1 Spark的部署方式介紹 ? Spark部署模式分為Local模式(本地模式)和集群模式(集群模式又分為Standalone模式、Yarn模式和Mesos模式) 1.1 Local模式 Local模式常用于本地開發程序與測試,如在idea中 1.2 Standalone模…