当前位置: 首页 > news >正文

Java中的日期类

在Java中,处理日期和时间的类主要集中在java.utiljava.time包下。由于Java的版本演进,日期和时间的API也经历了重大更新和改进。以下是详细的讲解:

1. 传统日期类 (java.util)

a. java.util.Date
  • 简介Date类表示特定的瞬间,精确到毫秒,但不提供日历字段,如年、月或日。
  • 示例代码
    import java.util.Date;public class DateExample {public static void main(String[] args) {Date now = new Date(); // 创建当前日期时间System.out.println(now); // 打印日期时间}
    }
b. java.util.Calendar
  • 简介Calendar是抽象类,提供通用的日历系统框架,包括日历字段(如年、月、日)和操作这些字段的方法。
  • 示例代码
    import java.util.Calendar;public class CalendarExample {public static void main(String[] args) {Calendar calendar = Calendar.getInstance();System.out.println(calendar.get(Calendar.YEAR)); // 获取当前年份}
    }
c. java.text.SimpleDateFormat
  • 简介:用于格式化和解析日期的工具。可以指定日期/时间的显示格式。
  • 示例代码
    import java.text.SimpleDateFormat;
    import java.util.Date;public class SimpleDateFormatExample {public static void main(String[] args) {Date date = new Date();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println(sdf.format(date)); // 格式化日期}
    }

2. 新日期时间API (java.time)

a. java.time.LocalDate
  • 简介:只表示日期,不包含时间和时区信息。
  • 示例代码
    import java.time.LocalDate;public class LocalDateExample {public static void main(String[] args) {LocalDate today = LocalDate.now();System.out.println(today); // 打印当前日期}
    }
b. java.time.LocalTime
  • 简介:表示时间,不含日期和时区信息。
  • 示例代码
    import java.time.LocalTime;public class LocalTimeExample {public static void main(String[] args) {LocalTime time = LocalTime.now();System.out.println(time); // 打印当前时间}
    }
c. java.time.LocalDateTime
  • 简介:表示日期和时间,但无时区信息。
  • 示例代码
    import java.time.LocalDateTime;public class LocalDateTimeExample {public static void main(String[] args) {LocalDateTime dateTime = LocalDateTime.now();System.out.println(dateTime); // 打印当前日期和时间}
    }
d. java.time.ZonedDateTime
  • 简介:表示带有时区的日期和时间。
  • 示例代码
    import java.time.ZonedDateTime;public class ZonedDateTimeExample {public static void main(String[] args) {ZonedDateTime zdt = ZonedDateTime.now();System.out.println(zdt); // 打印当前带时区的日期和时间}
    }
e. java.time.Instant
  • 简介:表示时间线上瞬间的点,与UTC时间一致。
  • 示例代码
    import java.time.Instant;public class InstantExample {public static void main(String[] args) {Instant instant = Instant.now();System.out.println(instant); // 打印当前UTC瞬间}
    }

总结

  • 传统API (java.util下的类)在旧项目中仍然广泛使用,但存在一些设计上的缺陷和不足。
  • 新API (java.time下的类)在Java 8及更高版本中提供,具有更好的设计和功能,推荐在新项目中使用。

http://www.mrgr.cn/news/54606.html

相关文章:

  • 基于Java微信小程序的的儿童阅读系统的详细设计和实现(源码+lw+部署文档+讲解等)
  • ANSYS Workbench纤维混凝土3D
  • 端到端测试?何必Postman,试试Automan
  • Python数据处理工具笔记 - matplotlib, Numpy, Pandas
  • 【SpringBoot】12 Json数据校验
  • 【文心智能体 | AI大师工坊】如何使用智能体插件,完成一款购物类智能体的开发,来体验一下我的智能体『科技君Tom』
  • LeetCode刷题日记之贪心算法(四)
  • 一款现代化、可定制的跨平台文件浏览器,高颜值高效率的的管理神器!(附私活源码)
  • 谷粒商城のRabbitMQ高级篇最终一致性解决方案。
  • Sourceforge下载镜像选择方法
  • Git Push(TODO)
  • Widget结构(一)
  • Mac M1 修改设置默认 PHP 版本
  • 晶体生长中位错的作用
  • 【你也能从零基础学会网站开发】浅谈一下SQL Server 2000中的日期和时间数据类型
  • Java 数组新手教程一口气讲完!(≧∀≦)ゞ
  • c++ 桶排序(看这一篇就够了)
  • 域渗透之内网渗透 frp内网穿透 环境部署 软件下载地址 实现内网服务访问 端口映射 一步步实现效果 以及Ngrok示例场景讲解
  • 嵌入式开发介绍以及项目示例
  • 相对强弱指标(RSI, Relative Strength Index)
  • IT运维的365天--017 如何在两台Linux服务器之间快速传输文件夹(同时设置免密)
  • 少儿Scratch图形化编程案例100课——005公鸡捉虫
  • 【人工智能-初级】第10章 用Python从零构建简单的神经网络
  • 能够免费剪辑音频的工具有哪些?试试这4款!
  • JS闭包的特性和应用场景
  • Kubernetes GPU 调度和 Device Plugin、CDI、NFD、GPU Operator 概述