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: ...
随机推荐
- error接口
// 实际上它是interface类型,这个类型有一个返回错误信息的单一方法: type error interface{ Error() string } 创建一个error最简单的方法就是调用er ...
- Ubuntu如何卸载mysql
首先在终端中查看MySQL的依赖项:dpkg --list|grep mysql 卸载: sudo apt-get remove mysql-common 卸载:sudo apt-get autore ...
- 运行Study.Trade模块的Web.Unified.Host
1.把Web.Host的项目设置为启动项目 上一篇文章报错,因为npm功能没有安装,导致Web.Unified.Host的wwwroot下没有libs目录. 2.默认是在IIS Express中承载 ...
- Linux或者Mac解压乱码问题
1.unar : 命令行解压工具 2.安装: ubuntu等Linux安装方法:sudo apt install unar mac系统安装方法:brew install unar 现在mac电脑用 T ...
- 关于mv命令,系统是如何区分是移动还是重命名
引入: 精简回答版:重命名的本质仍是移动覆盖 ,所以不存在应该如何区分的问题 最近学习到linux基础命令中的mv命令,了解到mv命令的作用是对文件的移动和重命名,但自己一直想不明白系统是如何分辨 ...
- C++ //类模板与友元 //全局函数类内实现 -直接在类内声名由于即可 //全局函数类外实现 -需要提前让编译器知道全局函数的存在
1 //类模板与友元 2 //全局函数类内实现 -直接在类内声名由于即可 3 //全局函数类外实现 -需要提前让编译器知道全局函数的存在 4 5 #include <iostream> 6 ...
- 使用go语言开发自动化API测试工具
前言 上一篇文章说到我还开发了一个独立的自动测试工具,可以根据 OpenAPI 的文档来测试,并且在测试完成后输出测试报告,报告内容包括每个接口是否测试通过和响应时间等. 这个工具我使用了 go 语言 ...
- 使用Mockito与Squaretest进行单元测试.
项目开发过程中,不少公司都要求写单元测试的代码,可以提高代码的质量,并且可以减少出现BUG的概率. 对于中小型公司来说,对单元测试不做硬性要求,不写最好.因为还是需要一定的工作量,在保证代码质量和性能 ...
- 将谷歌chrome浏览器主题变黑的方法
两个步骤: 第一: 桌面找到google chrome图标右键->属性,在后面加上: --force-dark-mode (注意有空格) 第二: 1.浏览器地址输入chrome://flags/ ...
- 记一次kafka无法生产发送消息排查经历
参考,欢迎点击原文:https://stackoverflow.com/questions/37902167/kafka-error-while-fetching-metadata-with-corr ...