Java實現(xiàn)輕松處理日期和時間的API小結(jié)
Java 用戶輸入(Scanner)
簡介
Scanner
類用于獲取用戶輸入,它位于 java.util
包中。
使用 Scanner 類
要使用 Scanner
類,請執(zhí)行以下步驟:
- 導(dǎo)入
java.util.Scanner
包。 - 創(chuàng)建一個
Scanner
對象,并將其初始化為System.in
。 - 使用
Scanner
對象的方法讀取用戶輸入。
示例
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("請輸入您的姓名:"); String name = scanner.nextLine(); System.out.println("請輸入您的年齡:"); int age = scanner.nextInt(); System.out.println("您的姓名是:" + name); System.out.println("您的年齡是:" + age); } }
讀取不同類型的數(shù)據(jù)
Scanner
類提供了各種方法來讀取不同類型的數(shù)據(jù):
方法 | 描述 |
---|---|
nextBoolean() | 讀取布爾值 |
nextByte() | 讀取字節(jié)值 |
nextDouble() | 讀取雙精度浮點數(shù) |
nextFloat() | 讀取單精度浮點數(shù) |
nextInt() | 讀取整型值 |
nextLine() | 讀取字符串 |
nextLong() | 讀取長整型值 |
nextShort() | 讀取短整型值 |
示例
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("請輸入您的姓名:"); String name = scanner.nextLine(); System.out.println("請輸入您的年齡:"); int age = scanner.nextInt(); System.out.println("請輸入您的身高:"); double height = scanner.nextDouble(); System.out.println("您的姓名是:" + name); System.out.println("您的年齡是:" + age); System.out.println("您的身高是:" + height); } }
處理錯誤輸入
如果您嘗試讀取與預(yù)期類型不同的數(shù)據(jù),則會拋出 InputMismatchException
異常。您可以使用 try-catch
塊來處理此異常。
示例
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); try { System.out.println("請輸入您的年齡:"); int age = scanner.nextInt(); System.out.println("您的年齡是:" + age); } catch (InputMismatchException e) { System.out.println("您輸入的年齡格式不正確。"); } } }
Scanner
類是獲取用戶輸入的便捷工具。它提供了各種方法來讀取不同類型的數(shù)據(jù),并可以處理錯誤輸入。
Java 日期和時間
Java 日期和時間 API
Java 沒有內(nèi)置的 Date
類,但我們可以導(dǎo)入 java.time
包來使用日期和時間 API。該包包含許多日期和時間類,例如:
類 | 描述 |
---|---|
LocalDate | 表示日期(年、月、日(yyyy-MM-dd)) |
LocalTime | 表示時間(小時、分鐘、秒和納秒(HH-mm-ss-ns)) |
LocalDateTime | 表示日期和時間(yyyy-MM-dd-HH-mm-ss-ns) |
DateTimeFormatter | 日期時間對象的顯示和解析格式化程序 |
顯示當(dāng)前日期
要顯示當(dāng)前日期,請導(dǎo)入 java.time.LocalDate
類,并使用其 now()
方法:
import java.time.LocalDate; // 導(dǎo)入 LocalDate 類 public class Main { public static void main(String[] args) { LocalDate myObj = LocalDate.now(); // 創(chuàng)建一個日期對象 System.out.println(myObj); // 顯示當(dāng)前日期 } }
輸出將是:
2023-12-20
顯示當(dāng)前時間
要顯示當(dāng)前時間(小時、分鐘、秒和納秒),請導(dǎo)入 java.time.LocalTime
類,并使用其 now()
方法:
import java.time.LocalTime; // 導(dǎo)入 LocalTime 類 public class Main { public static void main(String[] args) { LocalTime myObj = LocalTime.now(); System.out.println(myObj); } }
輸出將是:
16:34:36.910624
顯示當(dāng)前日期和時間
要顯示當(dāng)前日期和時間,請導(dǎo)入 java.time.LocalDateTime
類,并使用其 now()
方法:
import java.time.LocalDateTime; // 導(dǎo)入 LocalDateTime 類 public class Main { public static void main(String[] args) { LocalDateTime myObj = LocalDateTime.now(); System.out.println(myObj); } }
輸出將是:
2023-12-20T16:34:36.910771
格式化日期和時間
上面示例中的“T”用于分隔日期和時間。您可以使用同一包中的 DateTimeFormatter
類的 ofPattern()
方法來格式化或解析日期時間對象。以下示例將從日期時間中刪除“T”和納秒:
import java.time.LocalDateTime; // 導(dǎo)入 LocalDateTime 類 import java.time.format.DateTimeFormatter; // 導(dǎo)入 DateTimeFormatter 類 public class Main { public static void main(String[] args) { LocalDateTime myDateObj = LocalDateTime.now(); System.out.println("格式化前:" + myDateObj); DateTimeFormatter myFormatObj = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss"); String formattedDate = myDateObj.format(myFormatObj); System.out.println("格式化后:" + formattedDate); } }
輸出將是:
格式化前: 2023-12-20T16:34:36.910287
格式化后: 20-12-2023 16:34:36
ofPattern()
方法接受各種值,您可以使用它們以不同的格式顯示日期和時間。例如:
值 | 示例 |
---|---|
yyyy-MM-dd | "1988-09-29" |
dd/MM/yyyy | "29/09/1988" |
dd-MMM-yyyy | "29-Sep-1988" |
E, MMM dd yyyy | "Thu, Sep 29 1988" |
Java 日期和時間 API 提供了多種類和方法來處理日期和時間。您可以使用這些工具來顯示、格式化和解析日期和時間數(shù)據(jù)。
到此這篇關(guān)于Java實現(xiàn)輕松處理日期和時間的API小結(jié)的文章就介紹到這了,更多相關(guān)Java日期和時間API內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot通過配置Swagger權(quán)限解決Swagger未授權(quán)訪問漏洞問題
這篇文章主要介紹了SpringBoot通過配置Swagger權(quán)限解決Swagger未授權(quán)訪問漏洞問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05idea整合deepseek實現(xiàn)AI輔助編程的流程步驟
文章介紹了如何在IntelliJ IDEA中整合DeepSeek平臺實現(xiàn)AI輔助編程,步驟包括安裝CodeGPT插件、注冊DeepSeek開發(fā)者賬號、配置API密鑰以及設(shè)置API信息,需要的朋友可以參考下2025-02-02Apache Commons Math3探索之快速傅立葉變換代碼示例
這篇文章主要介紹了Apache Commons Math3探索之快速傅立葉變換代碼示例,具有一定參考價值,需要的朋友可以了解下。2017-10-10spring-kafka使消費者動態(tài)訂閱新增的topic問題
這篇文章主要介紹了spring-kafka使消費者動態(tài)訂閱新增的topic問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12Maven profile實現(xiàn)不同環(huán)境的配置管理實踐
這篇文章主要介紹了Maven profile實現(xiàn)不同環(huán)境的配置管理實踐,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09詳解Spring 框架中切入點 pointcut 表達式的常用寫法
這篇文章主要介紹了詳解Spring 框架中切入點 pointcut 表達式的常用寫法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04