Java 输入年月日时分秒毫秒

在Java编程中,处理日期和时间是常见的需求。Java提供了多种方式来处理日期和时间,其中java.util.Datejava.time包是常用的工具。本文将介绍如何在Java中输入年月日时分秒毫秒,并展示如何使用这些工具。

流程图

首先,我们通过流程图来展示处理日期和时间的一般步骤:

flowchart TD
    A[开始] --> B[获取输入]
    B --> C{选择方法}
    C -->|Date类| D[使用Date类]
    C -->|java.time包| E[使用java.time包]
    D --> F[处理Date对象]
    E --> G[处理LocalDate、LocalTime等对象]
    F --> H[格式化输出]
    G --> H
    H --> I[结束]

使用Date类

java.util.Date类是Java早期提供的日期时间类,它可以用来表示特定的瞬间,精确到毫秒。以下是使用Date类获取输入年月日时分秒毫秒的示例代码:

import java.util.Date;
import java.util.Scanner;

public class DateExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入年(yyyy): ");
        int year = scanner.nextInt();
        System.out.print("请输入月(mm): ");
        int month = scanner.nextInt();
        System.out.print("请输入日(dd): ");
        int day = scanner.nextInt();
        System.out.print("请输入时(hh): ");
        int hour = scanner.nextInt();
        System.out.print("请输入分(mm): ");
        int minute = scanner.nextInt();
        System.out.print("请输入秒(ss): ");
        int second = scanner.nextInt();
        System.out.print("请输入毫秒(ms): ");
        int millisecond = scanner.nextInt();

        Date date = new Date(year - 1900, month - 1, day, hour, minute, second);
        date.setTime(date.getTime() + millisecond);

        System.out.println("输入的日期和时间是: " + date.toString());
    }
}

使用java.time包

从Java 8开始,引入了新的日期时间API,位于java.time包中。这个包提供了更丰富、更灵活的日期时间处理方式。以下是使用java.time包获取输入年月日时分秒毫秒的示例代码:

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Scanner;

public class DateTimeExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入年(yyyy): ");
        int year = scanner.nextInt();
        System.out.print("请输入月(mm): ");
        int month = scanner.nextInt();
        System.out.print("请输入日(dd): ");
        int day = scanner.nextInt();
        System.out.print("请输入时(hh): ");
        int hour = scanner.nextInt();
        System.out.print("请输入分(mm): ");
        int minute = scanner.nextInt();
        System.out.print("请输入秒(ss): ");
        int second = scanner.nextInt();
        System.out.print("请输入毫秒(ms): ");
        int millisecond = scanner.nextInt();

        LocalDateTime dateTime = LocalDateTime.of(year, month, day, hour, minute, second, millisecond);

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
        System.out.println("输入的日期和时间是: " + dateTime.format(formatter));
    }
}

饼状图

为了更直观地展示两种方法的选择,我们可以使用饼状图来表示:

pie
    title 选择方法
    "Date类" : 40
    "java.time包" : 60

结尾

通过本文的介绍,我们了解了如何在Java中输入年月日时分秒毫秒,并展示了两种不同的处理方式。java.util.Date类是Java早期提供的日期时间类,而java.time包则是Java 8引入的新日期时间API。根据实际需求选择合适的方法,可以更高效地处理日期和时间。希望本文对您有所帮助!