首页 > 编程语言 >Java 日期和时间 API:实用技巧与示例 - 轻松处理日期和时间

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

时间:2024-03-07 21:33:05浏览次数:24  
标签:实用技巧 Scanner 示例 System 日期 println public out

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,关注后即可获取最新文章推送

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

标签:实用技巧,Scanner,示例,System,日期,println,public,out
From: https://www.cnblogs.com/xiaowange/p/18059813

相关文章

  • YAML 语法简介与 C# 操作示例
    〇、简介YAML(YetAnotherMarkupLanguage)另一种标记语言。YAML是一种较为人性化的数据序列化语言,可以配合目前大多数编程语言使用。YAML的语法比较简洁直观,特点是使用空格来表达层次结构,其最大优势在于数据结构方面的表达,所以YAML更多应用于编写配置文件,其文件一般以.yml......
  • Java日期
    Java8之前的传统日期APIDate转换成字符串importjava.text.SimpleDateFormat;importjava.util.Date;/***@authorPickle*@versionV1.0*@date2024/3/714:43*/publicclassDemo{publicstaticvoidmain(String[]args){//创建Date类,构造的......
  • MySQL 的 datetime 日期类型,以当前时间作为初始默认值
     1.以当前时间作为默认值使用DEFAULTCURRENT_TIMESTAMP声明字段,插入记录时不用指定dt,自动置入当前时间CREATETABLEt1(dtDATETIMEDEFAULTCURRENT_TIMESTAMP); 2.以当前时间作为默认值以及更新值使用ONUPDATECURRENT_TIMESTAMP声明字段,修改记录时dt自......
  • C++语言代码开发示例-身份证实名认证接口
    实名认证API实时联网核验个人身份信息与所持身份证件人员的一致性,可满足不同应用场景的不同实名认证需求,如身份证号+姓名核验、身份证号+姓名+人像核验、身份证号+姓名+证件人像+现场人像核验等,有助于推动诚信网络环境建设,降低利用网络进行违法犯罪的可能性,防止纠纷和诈骗,确保消费......
  • 解决datepicker设置限定日期范围后 选中节点日期不生效
    问题描述:项目要求设定日期限定范围,如2023-04-01至2024-03-01,其它不可选 但每当我选择的月份包含4月或次年3月时,即使选中日期,弹窗也不消失经过我机智过人的大脑”短暂“思考后,发现当我设定限定范围时,是这样设置的returntime.getTime()<newDate("2023-04-01").getTime()......
  • 【Azure Key Vault】使用REST API调用Azure Key Vault Secret的示例步骤
    准备阶段1)准备MicrosoftEntraID的注册应用(ServicePrincipal),如没有,需要注册它:Registeranapplication-MicrosoftAzure由世纪互联运营如取名“GetKeyVaultSecretVault01”,具体操作步骤,请参考:https://docs.azure.cn/zh-cn/entra/identity-platform/quickstart-register-......
  • SQLSERVER FORMAT() 格式化日期、数字等用法示例
    --格式化日期SELECTFORMAT(GETDATE(),'d','en-US')--11/17/2023,FORMAT(GETDATE(),'d','zh-cn')--2023/11/17,FORMAT(GETDATE(),'D','en-US')--Friday,Novemb......
  • React的7个常用Hooks及使用场景(含示例)
    React是一款非常流行的JavaScript库,它提供了许多Hooks,用于管理函数组件的状态和生命周期。下面是React的每个Hooks的使用场景和示例:No1、useStateuseState用于在函数组件中管理状态。它返回一个包含当前状态和一个更新状态的函数的数组。更新状态的函数可以接受一个新的值......
  • Pick和Extract的区别示例
    在TypeScript中,Pick和Extract是两种不同的类型操作工具。它们分别用于从一个已有的类型中选择或提取部分属性和从联合类型中提取符合条件的类型。Pick类型Pick<T,K>用于从类型T中选取指定的键K所对应的属性,创建一个新的类型。示例:interfacePerson{name:stri......
  • UniDateTimePicker日期转换问题---“2024-03-05” is not a date and time
    这个问题是由于操作系统的日期格式与用StrToDate给UniDateTimePicker.dateTime赋值格式不一致造成的。注意:这个问题在使用UniGui的Standalone模式下没问题,在Windowsservice模式下会出现上述问题。可以在系统的主程序中设置一下系统日期格式:procedureSetDateTimeFormat();var......