Java中的日期时间处理及格式化处理

Java中的日期时间处理及格式化处理

Java中完整的日期时间处理需要使用到Java.util包和Java.text包的类。日期时间处理主要包括以下内容:

1. Date类

Java中的Date类表示日期和时间的类。它表示的是一个具体的时间点,精度为毫秒级别。常用的方法有:

//获取当前时间
Date today = new Date();

//获取时间戳
long timestamp = today.getTime();

//将long类型的时间戳转换成Date类型
Date date = new Date(timestamp);

//将Date转换成String并格式化输出
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = sdf.format(date);
System.out.println(dateStr);

2. Calendar类

Calendar类是一个抽象类,提供了处理日期和时间的方法。可以使用Calendar.getInstance()静态方法获取一个Calendar对象并进行日期时间处理。常用的方法有:

//获取当前时间的Calendar实例
Calendar calendar = Calendar.getInstance();

//获取年份、月份、日期等信息
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH); //注意:月份从0开始计数
int day = calendar.get(Calendar.DAY_OF_MONTH);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);

//添加/减少时间
calendar.add(Calendar.DAY_OF_MONTH, 3); //向后加3天
calendar.add(Calendar.MONTH, -1); //向前减1个月

3. SimpleDateFormat类

SimpleDateFormat类用来格式化Date对象成指定格式的字符串,并将字符串解析为Date对象。常用的格式化方法有:

//将日期格式化成指定格式的字符串
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = sdf.format(new Date());

//将字符串解析成日期
Date date = sdf.parse("2021-07-25 10:00:00");

4. DateTimeFormatter类

在Java 8中,引入了一个新的日期时间API:java.time包。其中包含的DateTimeFormatter类可用于格式化LocalDateTime、ZonedDateTime和OffsetDateTime等日期时间对象。

//创建DateTimeFormatter对象
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

//将LocalDateTime对象格式化成字符串
LocalDateTime now = LocalDateTime.now();
String dateStr = dateFormatter.format(now);
String dateTimeStr = dateTimeFormatter.format(now); 

//将字符串解析成LocalDateTime对象
LocalDateTime date = LocalDateTime.parse("2021-07-25 10:00:00", dateTimeFormatter);

示例

示例1:获取当前时间并格式化输出

Date today = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = sdf.format(today);
System.out.println(dateStr);

输出结果:2021-07-25 14:30:00

示例2:计算从今天起3天后的日期并输出格式化后的结果

Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH, 3);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = sdf.format(calendar.getTime());
System.out.println(dateStr);

输出结果:2021-07-28 14:30:00

示例3:将字符串解析成日期时间对象并格式化输出

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse("2021-07-25 10:00:00");
System.out.println(date);

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime ldt = LocalDateTime.parse("2021-07-25 10:00:00", dtf);
System.out.println(ldt);

输出结果:

Sun Jul 25 10:00:00 CST 2021

2021-07-25T10:00:00

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java中的日期时间处理及格式化处理 - Python技术站

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

相关文章

  • javaBean的基础知识及常见乱码解决方法

    JavaBean的基础知识及常见乱码解决方法 JavaBean是一种Java语言编写的可重用组件,通常用于进行轻量级操作,例如通过getter和setter访问和修改对象的属性。一个JavaBean必须满足如下条件: 类必须是公共的。 必须具备一个无参的公共构造方法。 必须有get方法和set方法的对应属性。 在Java开发过程中经常会遇到乱码问题,而在Ja…

    Java 2023年5月20日
    00
  • Eclipse软件怎么调试JAVA项目?

    下面是关于Eclipse软件如何调试JAVA项目的完整攻略。 1.准备工作 在开始调试JAVA项目之前,我们需要先进行一些准备工作。首先需要安装JDK,并将JAVA环境变量配置好;其次需要安装Eclipse软件并进行基本配置。 2.创建JAVA项目 在Eclipse中创建一个JAVA项目,具体步骤如下: 打开Eclipse软件,点击File -> Ne…

    Java 2023年5月19日
    00
  • java旋转二维数组实例

    Java旋转二维数组实例攻略 在Java中,我们可以使用多种方法来旋转二维数组。下面是一些示例说明。 方法一:使用额外空间 该方法首先将原始矩阵复制到一个新矩阵中,然后对新矩阵进行更改以获得旋转的矩阵。在这种情况下,由于使用了额外空间,因此该方法的空间复杂度为O(m * n)。 代码实现 public int[][] rotateMatrix(int[][]…

    Java 2023年5月26日
    00
  • java与JSON数据的转换实例详解

    下面是Java与JSON数据的转换实例详解的完整攻略。 什么是JSON JSON是JavaScript Object Notation的缩写,它是一种轻量级、易于读写的数据格式,可以被多种编程语言解析和生成。JSON的主要优势在于它的可读性、可解析性和可靠性,由于其原始格式为文本,因此可以通过网络传输,而且多种编程语言都提供了JSON的解析和生成支持。 JS…

    Java 2023年5月26日
    00
  • Java生成和解析XML格式文件和字符串的实例代码

    下面我将详细讲解“Java生成和解析XML格式文件和字符串的实例代码”的完整攻略以及其中的两个示例。 1. 什么是XML XML是可扩展标记语言(Extensible Markup Language)的缩写,它是一种用于传输和存储数据的标准格式。XML是自我描述、可扩展的,可以通过文本编辑器或工具生成并解析。在Java应用程序中,XML是一种常见的数据交换格…

    Java 2023年5月20日
    00
  • Java点餐小程序之黑心商人

    Java点餐小程序之黑心商人完整攻略 简介 这是一款基于Java实现的点餐小程序,允许用户查看、点餐、结算等操作,并包含了“黑心商人”功能,允许商家设置并收取“加急费”、“删单费”等不合理费用。作为一名程序员,我们应该注重代码的质量,不容忍这种黑心商业行为,本文将详细讲解该小程序的实现过程,并提供几条防止黑心商户的方法。 整体思路 该小程序主要分为前台用户界…

    Java 2023年5月23日
    00
  • Java打印数组的三种方法整理

    Java打印数组的三种方法整理 在Java程序中,经常需要对数组进行打印输出操作。本文将整理并详细讲解Java打印数组的三种方法,以供参考。 方法一:使用for循环遍历数组并打印 使用for循环遍历数组,逐个将数组元素打印出来。 示例代码: int[] arr = {1, 2, 3, 4, 5}; for (int i = 0; i < arr.len…

    Java 2023年5月26日
    00
  • Java代码是如何被CPU狂飙起来的

    Java代码是如何被CPU狂飙起来的 当Java代码被编译成字节码之后,需要被虚拟机解释执行。对于常见的Oracle JDK,虚拟机的实现是HotSpot VM。HotSpot VM为了提升程序的性能,包含了即时编译器(JIT)。 在执行Java代码的过程中,HotSpot VM会对一些热点代码进行监控,这些热点代码包括被频繁调用和执行时间较长的方法或循环等…

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