Java 日期和时间 API:实用技巧与示例 - 轻松处理日期和时间
Java 用户输入(Scanner)
简介
Scanner 类用于获取用户输入,它位于 java.util 包中。
使用 Scanner 类
要使用 Scanner 类,请执行以下步骤:
- 导入
java.util.Scanner包。 - 创建一个
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);
}
}
读取不同类型的数据
Scanner 类提供了各种方法来读取不同类型的数据:
| 方法 | 描述 |
|---|---|
nextBoolean() |
读取布尔值 |
nextByte() |
读取字节值 |
nextDouble() |
读取双精度浮点数 |
nextFloat() |
读取单精度浮点数 |
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);
}
}
处理错误输入
如果您尝试读取与预期类型不同的数据,则会抛出 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 类是获取用户输入的便捷工具。它提供了各种方法来读取不同类型的数据,并可以处理错误输入。
Java 日期和时间
Java 日期和时间 API
Java 没有内置的 Date 类,但我们可以导入 java.time 包来使用日期和时间 API。该包包含许多日期和时间类,例如:
| 类 | 描述 |
|---|---|
LocalDate |
表示日期(年、月、日(yyyy-MM-dd)) |
LocalTime |
表示时间(小时、分钟、秒和纳秒(HH-mm-ss-ns)) |
LocalDateTime |
表示日期和时间(yyyy-MM-dd-HH-mm-ss-ns) |
DateTimeFormatter |
日期时间对象的显示和解析格式化程序 |
显示当前日期
要显示当前日期,请导入 java.time.LocalDate 类,并使用其 now() 方法:
import java.time.LocalDate; // 导入 LocalDate 类
public class Main {
public static void main(String[] args) {
LocalDate myObj = LocalDate.now(); // 创建一个日期对象
System.out.println(myObj); // 显示当前日期
}
}
输出将是:
2023-12-20
显示当前时间
要显示当前时间(小时、分钟、秒和纳秒),请导入 java.time.LocalTime 类,并使用其 now() 方法:
import java.time.LocalTime; // 导入 LocalTime 类
public class Main {
public static void main(String[] args) {
LocalTime myObj = LocalTime.now();
System.out.println(myObj);
}
}
输出将是:
16:34:36.910624
显示当前日期和时间
要显示当前日期和时间,请导入 java.time.LocalDateTime 类,并使用其 now() 方法:
import java.time.LocalDateTime; // 导入 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; // 导入 LocalDateTime 类
import java.time.format.DateTimeFormatter; // 导入 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 提供了多种类和方法来处理日期和时间。您可以使用这些工具来显示、格式化和解析日期和时间数据。
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注
Java 日期和时间 API:实用技巧与示例 - 轻松处理日期和时间的更多相关文章
- Java日期时间API系列42-----一种高效的中文日期格式化和解析方法
中文日期(2021年09月11日 和 二〇二一年九月十一日 )在生活中经常用到,2021年09月11日很好处理直接使用模板:yyyy年MM月dd日:二〇二一年九月十一日比较不好处理,需要每个数字进行转 ...
- 新手必学的java报表开发工具FineReport实用技巧
1.在制作模板时,如何将报表中的值传递到超链接网页呢? 在项目中以frame方法把F1.CPT放到项目的页面中,对F1.CPT做网络报表超链接F2.CPT,然后在F2.cpt页面中,做个超链接的网页, ...
- java 数据结构(三):java常用类 三 日期时间API
JDK 8之前日期时间API 1.获取系统当前时间:System类中的currentTimeMillis()long time = System.currentTimeMillis();//返回当前时 ...
- Java8 日期与时间 API
在 Java 中,想处理日期和时间时,通常都会选用 java.util.Date 这个类进行处理.不过不知道是设计者在当时没想好还是其它原因,在 Java 1.0 中引入的这个类,大部分的 API 在 ...
- 全面解析Java日期时间API
时区 GMT(Greenwich Mean Time):格林尼治时间,格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时(也就是在格林尼治上空最高点时)的时间. UTC(Universal Time ...
- [转载]Java 8 日期&时间 API
Java 8 日期和时间 声明 本文转自http://www.journaldev.com/2800/java-8-date-localdate-localdatetime-instant,以mark ...
- Java中日期时间API小结
Java中为处理日期和时间提供了大量的API,确实有把一件简单的事情搞复杂的嫌疑,各种类:Date Time Timestamp Calendar...,但是如果能够看到时间处理的本质就可以轻松hol ...
- 计算机程序的思维逻辑 (95) - Java 8的日期和时间API
本节继续探讨Java 8的新特性,主要是介绍Java 8对日期和时间API的增强,关于日期和时间,我们在之前已经介绍过两节了,32节介绍了Java 1.8以前的日期和时间API,主要的类是Date和 ...
- Java 8 日期时间 API
转自:https://www.runoob.com/java/java8-datetime-api.html Java 8通过发布新的Date-Time API (JSR 310)来进一步加强对日期与 ...
- Java编程的逻辑 (95) - Java 8的日期和时间API
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...
随机推荐
- virtualenvwrapper管理虚拟环境
安装 pip install virtualenvwrapper-win 基本使用 1.创建虚拟环境 mkvirtualenv my_env 使用这个命令,就会在你c盘的当前用户下创建一个Env的文件 ...
- 【Azure 应用服务】记一次 App Service 部分请求一直返回 401 "No Authority" 的情况
问题描述 发现部署在App Service上的 WCF 应用对于所请求的接口出现部分返回 401 - No Authority 消息,10次中有一次这样的概率.比较疑惑的问题是,应用没有更新,所以怀疑 ...
- Isito 入门(二):Istio 的部署
本教程已加入 Istio 系列:https://istio.whuanle.cn 目录 2,部署 Istio 安装 Helm 部署 istio-base 部署 istiod 部署 istio-ingr ...
- centos 8远程分发复制jdk到另一个虚拟机
在localzly节点操作成功后可以使用远程复制命令将JDK远程复制到slave1节点之中:(此命令在localzly中操作) scp -r /usr/java root@slave1:/usr/ 配 ...
- 2022 Gartner RPA魔力象限,弘玑Cyclone位置飞跃国产RPA进击全球
文/王吉伟 7月25日,国际权威分析机构Gartner发布了2022全球RPA魔力象限报告(Gartner RPA MQ),UiPath.Automation Anywhere.微软等来自全球的15家 ...
- Java核心之细说泛型
泛型是什么? 等你使用java逐渐深入以后会了解或逐步使用到Java泛型.Java 中的泛型是 JDK 5 中引入的功能之一."Java 泛型 "是一个技术术语,表示一组与定义和使 ...
- 封装svg通用组件
安装vite-plugin-svg-icons插件 pnpm i vite-plugin-svg-icons -D 在main.ts中引入vite-plugin-svg-icons import 'v ...
- 选择单词后 按 ctrl + space 单词发音
需求: 在ide或其他地方,经常有单词发音不是很确定,但并不要很详细 就听个单词发音. 确定快捷键: 左手单手操作,我键盘上貌似就 左边的ctrl和空格键 还没有设定 翻译软件: 使用 pc端的 欧路 ...
- manjaro系统的xfce桌面环境的的壁纸存放位置
/usr/share/backgrounds/xfce 添加新照片的命令是: sudo mv 目录/* /usr/share/backgrounds/xfce
- Linux 运维工程师面试真题-3-Linux 磁盘及软件管理操作
Linux 运维工程师面试真题-3-Linux 磁盘及软件管理操作 1.如何添加一块新的 50G 硬盘到 linux 服务器系统作为单独的分区,并正在使用?需要哪些 操作步骤? 2.有个金士顿 U 盘 ...