前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 日期和时间 API:实用技巧与示例 - 轻松处理日期和时间

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

原创
作者头像
小万哥
发布2024-03-07 21:30:08
840
发布2024-03-07 21:30:08
举报
文章被收录于专栏:程序人生丶程序人生丶

Java 用户输入(Scanner)

简介

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

使用 Scanner 类

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

  1. 导入 java.util.Scanner 包。
  2. 创建一个 Scanner 对象,并将其初始化为 System.in
  3. 使用 Scanner 对象的方法读取用户输入。

示例

代码语言:java
复制
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()

读取短整型值

示例

代码语言:java
复制
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 块来处理此异常。

示例

代码语言:java
复制
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() 方法:

代码语言:java
复制
import java.time.LocalDate; // 导入 LocalDate 类

public class Main {
    public static void main(String[] args) {
        LocalDate myObj = LocalDate.now(); // 创建一个日期对象
        System.out.println(myObj); // 显示当前日期
    }
}

输出将是:

代码语言:java
复制
2023-12-20

显示当前时间

要显示当前时间(小时、分钟、秒和纳秒),请导入 java.time.LocalTime 类,并使用其 now() 方法:

代码语言:java
复制
import java.time.LocalTime; // 导入 LocalTime 类

public class Main {
    public static void main(String[] args) {
        LocalTime myObj = LocalTime.now();
        System.out.println(myObj);
    }
}

输出将是:

代码语言:java
复制
16:34:36.910624

显示当前日期和时间

要显示当前日期和时间,请导入 java.time.LocalDateTime 类,并使用其 now() 方法:

代码语言:java
复制
import java.time.LocalDateTime; // 导入 LocalDateTime 类

public class Main {
    public static void main(String[] args) {
        LocalDateTime myObj = LocalDateTime.now();
        System.out.println(myObj);
    }
}

输出将是:

代码语言:java
复制
2023-12-20T16:34:36.910771

格式化日期和时间

上面示例中的“T”用于分隔日期和时间。您可以使用同一包中的 DateTimeFormatter 类的 ofPattern() 方法来格式化或解析日期时间对象。以下示例将从日期时间中删除“T”和纳秒:

代码语言:java
复制
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);
    }
}

输出将是:

代码语言:java
复制
格式化前: 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,关注后即可获取最新文章推送

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Java 用户输入(Scanner)
    • 简介
      • 使用 Scanner 类
        • 示例
          • 读取不同类型的数据
            • 示例
              • 处理错误输入
                • 示例
                • Java 日期和时间
                  • Java 日期和时间 API
                    • 显示当前日期
                      • 显示当前时间
                        • 显示当前日期和时间
                          • 格式化日期和时间
                            • 最后
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档