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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 简介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,关注后即可获取最新文章推送

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

相关文章
|
2天前
|
人工智能 安全 Java
Java8 - LocalDateTime时间日期类使用详解
Java8 - LocalDateTime时间日期类使用详解
|
2天前
|
Java API
Java基础&API(3)
Java基础&API(3)
|
2天前
|
Java 机器人 API
Java基础&常用API(1)
Java基础&常用API(1)
|
3天前
|
安全 Java 程序员
|
4天前
|
安全 Java API
Java日期与时间
Java日期与时间
25 1
|
7天前
|
Java API Apache
ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
【4月更文挑战第11天】ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
24 11
|
8天前
|
安全 Java API
java借助代理ip,解决访问api频繁导致ip被禁的问题
java借助代理ip,解决访问api频繁导致ip被禁的问题
|
11天前
|
存储 安全 Java
说说Java 8 引入的Stream API
说说Java 8 引入的Stream API
12 0
|
18天前
|
缓存 前端开发 API
API接口封装系列
API(Application Programming Interface)接口封装是将系统内部的功能封装成可复用的程序接口并向外部提供,以便其他系统调用和使用这些功能,通过这种方式实现系统之间的通信和协作。下面将介绍API接口封装的一些关键步骤和注意事项。

热门文章

最新文章

  • 1
    Serverless 应用引擎操作报错合集之阿里函数计算中调用zip-oss-fc函数返回时候出现错误代码如何解决
    4
  • 2
    Serverless 应用引擎操作报错合集之在阿里云函数计算中,遇到错误代码“Handled Error”如何解决
    4
  • 3
    Serverless 应用引擎操作报错合集之阿里函数计算中我打开sd时遇到错误,信息为"Function instance exited unexpectedly(code 1, message:operation not permitted) with start command ' '."如何解决
    10
  • 4
    Serverless 应用引擎操作报错合集之阿里函数计算中配置完fc,出现‘Function instance exited unexpectedly(code 1, message:operation not permitted) with start command 'npm run start '. 报错如何解决
    12
  • 5
    Serverless 应用引擎操作报错合集之阿里函数计算中,出现"Process exited unexpectedly before completing request"错误如何解决
    6
  • 6
    Serverless 应用引擎操作报错合集之阿里函数计算中,总是报错“Process exited unexpectedly before completing request (duration: 0ms, maxMemoryUsage: 0.00MB)”如何解决
    7
  • 7
    Serverless 应用引擎操作报错合集之阿里函数计算中{"ErrorCode":"AccessDenied","ErrorMessage":"Current user is in debt."}出现这个代码如何解决
    10
  • 8
    Serverless 应用引擎操作报错合集之阿里函数计算中我的3dopenpose报错 "error 预览失败" 如何解决
    10
  • 9
    Serverless 应用引擎操作报错合集之阿里函数计算中,(FC)无法正常运行如何解决
    7
  • 10
    Serverless 应用引擎操作报错合集之阿里函数计算中,出现FC 3 assert torch.cuda.is_available() 报错如何解决
    9