JAVA中的日期时间类用法总结

JAVA中的日期时间类用法总结

一、介绍

JAVA中的日期时间类可以用来处理日期、时间等与时间有关的业务。JAVA中内置了多个日期时间类,比较常用的有:

  • Date类:这个类已经被替代了,不推荐使用。
  • Calendar类:是一个抽象类,提供了一组可以操纵日期、时间与之对应的字段的方法,同时还提供了其他的一些常用模块方法。
  • SimpleDateFormat类:可以将时间对象转化为字符串,或者根据字符串生成时间对象。
  • LocalDate/LocalTime/LocalDateTime类:Java 8之后引入的新日期时间API,解决了旧API的很多问题,是线程安全的。

二、Calendar类

Calendar类是一个抽象类,提供了一组可以操纵日期、时间与之对应的字段的方法,同时还提供了其他的一些常用模块方法。

以下是一些常用的Calendar类操作:

  • 获取Calendar实例对象
Calendar calendar = Calendar.getInstance();
  • 获取年/月/日等信息
int year = calendar.get(Calendar.YEAR); // 获取年份
int month = calendar.get(Calendar.MONTH) + 1; // 获取月份,因为Calendar类的月份是从0开始计算的,所以需要加1
int day = calendar.get(Calendar.DAY_OF_MONTH); // 获取日期
int hour = calendar.get(Calendar.HOUR_OF_DAY); // 获取小时,24小时制
int minute = calendar.get(Calendar.MINUTE); // 获取分钟
int second = calendar.get(Calendar.SECOND); // 获取秒
  • 设置日期时间信息
calendar.set(Calendar.YEAR, 2021); // 设置年份为2021年
calendar.set(Calendar.MONTH, Calendar.MARCH); // 设置月份为3月
calendar.set(Calendar.DAY_OF_MONTH, 15); // 设置日期为15日
calendar.set(Calendar.HOUR_OF_DAY, 16); // 设置小时为16点,24小时制
calendar.set(Calendar.MINUTE, 30); // 设置分钟为30分
calendar.set(Calendar.SECOND, 0); // 设置秒数为0秒

三、SimpleDateFormat类

SimpleDateFormat类可以将时间对象转化为字符串,或者根据字符串生成时间对象。

以下是一些常用的SimpleDateFormat类操作:

  • 将Date对象转化为指定格式的时间字符串
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 定义日期格式
String strDate = sdf.format(date);
System.out.println(strDate); // 输出格式化后的时间字符串
  • 将字符串转化为Date对象
String strDate = "2021-03-15 16:30:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 定义日期格式
Date date = sdf.parse(strDate); // 将时间字符串转化为Date对象
System.out.println(date); // 输出转化后的Date对象

四、LocalDate/LocalTime/LocalDateTime类

LocalDate/LocalTime/LocalDateTime类是Java 8之后引入的新日期时间API,解决了旧API的很多问题,是线程安全的。

以下是一些常用的LocalDate/LocalTime/LocalDateTime类操作:

  • 获取当前日期/时间/日期时间
LocalDate localDate = LocalDate.now(); // 获取当前日期
LocalTime localTime = LocalTime.now(); // 获取当前时间
LocalDateTime localDateTime = LocalDateTime.now(); // 获取当前日期时间
  • 获取年/月/日等信息
int year = localDate.getYear(); // 获取年份
int month = localDate.getMonthValue(); // 获取月份
int day = localDate.getDayOfMonth(); // 获取日期
int hour = localTime.getHour(); // 获取小时
int minute = localTime.getMinute(); // 获取分钟
int second = localTime.getSecond(); // 获取秒

示例:

LocalDate now = LocalDate.now();
LocalDate tomorrow = now.plusDays(1);
System.out.println("今天是:" + now + ",明天是:" + tomorrow);

输出:

今天是:2021-03-15,明天是:2021-03-16
LocalDateTime localDateTime = LocalDateTime.of(2021, Month.MARCH, 15, 16, 30, 0);
System.out.println(localDateTime);

输出:

2021-03-15T16:30

五、总结

以上就是JAVA中常用的日期时间类的用法,包括Calendar类、SimpleDateFormat类以及Java 8新API中的LocalDate/LocalTime/LocalDateTime类。

在使用时需要根据业务需求选择合适的时间处理类,根据需要获取或设置对应的时间信息,或者进行日期时间格式转换。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA中的日期时间类用法总结 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Java实现飞机大战-连接数据库并把得分写入数据库

    Java实现飞机大战-连接数据库并把得分写入数据库的攻略如下: 第一步:建立数据库 创建一个数据库,可使用MySQL或其他数据库软件,此处以MySQL为例。 在该数据库下创建一个用户,拥有读写权限。 创建一个存储分数的数据表,可命名为score,包含两个字段,一个为id,一个为score。 示例代码如下: CREATE DATABASE games; GRA…

    Java 2023年5月20日
    00
  • 浅谈java object对象在heap中的结构

    浅谈Java Object对象在Heap中的结构 介绍 Java内存分为栈内存和堆内存,栈内存用于存储局部变量和方法调用的信息,而堆内存用于存储动态分配的对象和数组。在堆内存中,Java对象存储在对象头和对象实例数据两部分中。 Java对象头结构 Java对象在内存中的结构包括对象头和对象实例数据两部分,对象头的大小在不同的JVM实现中有所不同,取决于虚拟机…

    Java 2023年5月26日
    00
  • 【深度思考】聊聊CGLIB动态代理原理

    1. 简介 CGLIB的全称是:Code Generation Library。 CGLIB是一个强大的、高性能、高质量的代码生成类库,它可以在运行期扩展Java类与实现Java接口, 底层使用的是字节码处理框架ASM。 Github地址:https://github.com/cglib/cglib。 CGLIB的Maven坐标如下所示: <depen…

    Java 2023年4月22日
    00
  • Spring BPP中如何优雅的创建动态代理Bean详解

    为了讲解“Spring BPP中如何优雅的创建动态代理Bean”,我们首先需要了解BPP是什么。BPP(BeanPostProcessor)是Spring IoC容器提供的扩展机制,可以在Bean的实例化过程中,对Bean进行增强、修改和替换等操作。而动态代理则是Spring AOP中常用的技术,能够实现切面编程的目的。 在Spring中,我们可以使用BPP…

    Java 2023年5月20日
    00
  • Java的MyBatis+Spring框架中使用数据访问对象DAO模式的方法

    介绍 DAO模式(Data Access Object模式)是一种数据访问设计模式,它将数据访问与业务逻辑分离,使得数据访问和业务逻辑分别独立修改。 MyBatis是一种一款优秀的持久层框架,它提供了许多便利的方法,使得我们能够更加方便地操作数据库。而Spring框架则提供了容器和框架,可以大大提高开发效率和代码的可重用性。当两者结合使用时,我们可以使用DA…

    Java 2023年5月20日
    00
  • Nginx Location指令URI匹配规则详解小结

    以下是“Nginx Location指令URI匹配规则详解小结”的完整攻略。 什么是Nginx Location指令? Nginx Location指令是用于匹配URL路径的一个指令。它可以根据配置文件中的规则,将客户端请求的URL与服务器上实际存储的文件或目录路径进行映射,然后进行相应的处理。Location指令非常灵活,支持多种匹配方式,其URI匹配规则…

    Java 2023年6月15日
    00
  • Spring boot整合tomcat底层原理剖析

    首先,在介绍Spring boot整合tomcat底层原理的过程中,需要先了解一下Spring boot和tomcat的基本概念。 Spring boot Spring boot是基于Spring框架的快速开发脚手架,它通过自动配置的方式来简化了Spring框架的配置,使得开发者可以更便捷地搭建项目环境。 Tomcat Tomcat是一个常用的Web服务器,…

    Java 2023年6月16日
    00
  • Java中常见的对象转换工具

    Java中常见的对象转换工具有很多种,其中比较常用的包括如下几种: Gson:Google开发的一款Java JSON处理工具,可以将JSON字符串与Java对象互相转换。 转换示例: import com.google.gson.Gson; public class Example { public static void main(String[] ar…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部