Java 日期和时间 API:实用技巧与示例 - 轻松处理日期和时间

简介: 简介Scanner 类用于获取用户输入,它位于 java.util 包中。使用 Scanner 类要使用 Scanner 类,请执行以下步骤:导入 java.util.Scanner 包。创建一个 Scanner 对象,并将其初始化为 System.in。使用 Scanner 对象的方法读取用户输入。

Java 用户输入(Scanner)

简介

Scanner 类用于获取用户输入,它位于 java.util 包中。

使用 Scanner 类

要使用 Scanner 类,请执行以下步骤:

  1. 导入 java.util.Scanner 包。
  2. 创建一个 Scanner 对象,并将其初始化为 System.in
  3. 使用 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,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

相关文章
|
10月前
|
Java API 数据处理
Java新特性:使用Stream API重构你的数据处理
Java新特性:使用Stream API重构你的数据处理
|
10月前
|
Java 大数据 API
Java Stream API:现代集合处理与函数式编程
Java Stream API:现代集合处理与函数式编程
420 100
|
10月前
|
Java API 数据处理
Java Stream API:现代集合处理新方式
Java Stream API:现代集合处理新方式
397 101
|
10月前
|
并行计算 Java 大数据
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
502 101
|
10月前
|
安全 Java API
使用 Java 构建强大的 REST API 的四个基本技巧
本文结合探险领域案例,分享Java构建REST API的四大核心策略:统一资源命名、版本控制与自动化文档、安全防护及标准化异常处理,助力开发者打造易用、可维护、安全可靠的稳健API服务。
562 116
|
9月前
|
存储 Java 程序员
【Java】(6)全方面带你了解Java里的日期与时间内容,介绍 Calendar、GregorianCalendar、Date类
java.util 包提供了 Date 类来封装当前的日期和时间。Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。
345 0
|
10月前
|
存储 数据可视化 Java
Java Stream API 的强大功能
Java Stream API 是 Java 8 引入的重要特性,它改变了集合数据的处理方式。通过声明式语法,开发者可以更简洁地进行过滤、映射、聚合等操作。Stream API 支持惰性求值和并行处理,提升了代码效率和可读性,是现代 Java 开发不可或缺的工具。
194 0
Java Stream API 的强大功能
|
Java API
Java如何制作帮助文档(API)
Java如何制作帮助文档(API) 步骤如下:   (1)写一个工具类   (2)对这个类加入文档注释   (3)用工具解析文档注释     javadoc工具   (4)格式     javadoc -d 目录 -author -version ArrayTool.java   制作帮助文档(API)出错问题解决:     找不到可以文档化的公共或受保护的类       这句话告诉我们对想要操作的类的权限不够。
1280 0
|
9月前
|
缓存 监控 前端开发
顺企网 API 开发实战:搜索 / 详情接口从 0 到 1 落地(附 Elasticsearch 优化 + 错误速查)
企业API开发常陷参数、缓存、错误处理三大坑?本指南拆解顺企网双接口全流程,涵盖搜索优化、签名验证、限流应对,附可复用代码与错误速查表,助你2小时高效搞定开发,提升响应速度与稳定性。
|
10月前
|
数据可视化 测试技术 API
从接口性能到稳定性:这些API调试工具,让你的开发过程事半功倍
在软件开发中,接口调试与测试对接口性能、稳定性、准确性及团队协作至关重要。随着开发节奏加快,传统方式已难满足需求,专业API工具成为首选。本文介绍了Apifox、Postman、YApi、SoapUI、JMeter、Swagger等主流工具,对比其功能与适用场景,并推荐Apifox作为集成度高、支持中文、可视化强的一体化解决方案,助力提升API开发与测试效率。