Java實(shí)現(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() | 讀取雙精度浮點(diǎn)數(shù) |
| nextFloat() | 讀取單精度浮點(diǎn)數(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實(shí)現(xiàn)輕松處理日期和時間的API小結(jié)的文章就介紹到這了,更多相關(guān)Java日期和時間API內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳述 DB2 分頁查詢及 Java 實(shí)現(xiàn)的示例
本篇文章主要介紹了詳述 DB2 分頁查詢及 Java 實(shí)現(xiàn)的示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-09-09
Gateway網(wǎng)關(guān)自定義攔截器的不可重復(fù)讀取數(shù)據(jù)問題
這篇文章主要介紹了Gateway網(wǎng)關(guān)自定義攔截器的不可重復(fù)讀取數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08
使用chatgpt實(shí)現(xiàn)微信聊天小程序的代碼示例
這篇文章主要介紹了使用chatgpt實(shí)現(xiàn)微信聊天小程序(秒回復(fù)),文中有詳細(xì)的代碼示例,對大家了解chatgpt聊天有一定的幫助,感興趣的同學(xué)可以參考閱讀2023-05-05
springboot+dubbo+validation 進(jìn)行rpc參數(shù)校驗(yàn)的實(shí)現(xiàn)方法
這篇文章主要介紹了springboot+dubbo+validation 進(jìn)行rpc參數(shù)校驗(yàn)的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09

