欢迎访问宙启技术站
智能推送

如何使用Java函数实现日期转换与格式化操作?

发布时间:2023-06-11 10:28:53

Java中的日期处理主要通过java.util.Date和java.text.SimpleDateFormat两个类实现。其中java.util.Date是Java日期操作最基本的类,可以表示从1970年1月1日0时0分0秒起经过的毫秒数,适用于计算时间间隔的情况。而java.text.SimpleDateFormat则用于将日期格式化为字符串或将字符串转换为日期。下面将详细介绍在Java中如何使用这两个类进行日期转换和格式化操作。

一、日期转换

1.将Date格式的日期转换为字符串格式

Java中将日期转换为字符串有两种方式,一种是使用Java内置的日期格式化工具SimpleDateFormat类,另一种是使用第三方日期格式化工具Joda-Time类库。

首先介绍使用SimpleDateFormat类实现日期格式化的方法。SimpleDateFormat类提供了format(Date date) 方法,用于将Date类型的日期格式化为字符串类型的日期。

具体操作步骤如下:

1) 实例化SimpleDateFormat对象;

2) 调用format(Date date)方法格式化日期;

下面是一个示例代码:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");

Date date = new Date();

String strDate = sdf.format(date);

System.out.println(strDate);

在上面的代码中,首先实例化SimpleDateFormat对象sdf,并指定日期格式为“yyyy年MM月dd日HH:mm:ss”。然后用当前日期实例化Date类的对象date,再调用sdf的format()方法将日期转换成字符串形式的日期strDate,最后将其输出。

2.将字符串格式的日期转换为Date格式

Java中将字符串格式的日期转换为Date格式也有两种方式,一种是同样使用SimpleDateFormat类,另一种是使用第三方日期格式化工具Joda-Time类库的类DateTimeFormat。

使用SimpleDateFormat类将字符串格式的日期转换为Date格式的具体操作步骤如下:

1) 实例化SimpleDateFormat对象;

2) 调用parse(String dateStr)方法将字符串格式的日期转换成Date格式;

下面是一个示例代码:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");

String dateStr = "2022年02月25日 21:08:00";

Date date = null;

try {

date = sdf.parse(dateStr);

} catch (ParseException e) {

e.printStackTrace();

}

System.out.println(date);

在示例代码中,首先实例化SimpleDateFormat对象sdf,并指定日期格式为“yyyy年MM月dd日HH:mm:ss”。然后用字符串形式的日期dateStr实例化date,再通过try...catch块调用sdf的parse(String dateStr)方法将字符串格式的日期转换成Date对象date,最后将其输出。

3.获取当前日期

Java中获取当前日期有两种方式,一种是使用JDK提供的Date类库,另一种是使用第三方日期类库Joda-Time。

使用JDK提供的Date类库获取当前日期的具体操作步骤如下:

1) 实例化Date对象;

2) 调用Date类中的toString()方法或getTime()方法获取当前日期。

下面是一个示例代码:

Date date = new Date();

System.out.println(date); //Tue Jun 22 13:27:52 CST 2021

System.out.println(date.getTime()); //1624344512324

在示例代码中,首先实例化Date对象date,然后通过date的toString()方法或getTime()方法获取当前时间。

二、日期格式化

使用SimpleDateFormat类实现日期格式化的方法在上文中已经介绍过,这里再简单说明一下。

SimpleDateFormat类提供了format(Date date)方法,用于将Date类型的日期格式化为字符串类型的日期。需要注意的是,必须指定日期格式,否则会默认使用系统设置的日期格式进行格式化。

下面是一个示例代码:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");

Date date = new Date();

String strDate = sdf.format(date);

System.out.println(strDate);

在自定义日期格式时,常用格式符有:

年份:

y:年份,输出结果是年份(例如:1996,2003),小写的y只保留年份的输入字符位数;

M:月份,输出结果是月份(例如:7或07,12或012);

d:天数,输出结果是月中的第几天(例如:10或010,28或28);

星期:

E:星期几,输出结果是中文字符(例:星期一,星期二);

H:小时,输出结果是小时(范围0-23);

k:小时,输出结果是小时(范围1-24);

m:分钟,输出结果是分钟(范围0-59);

s:秒钟,输出结果是秒钟(范围0-59)。

三、总结

Java中的日期转换和格式化操作较为简单,在实际编码中也是必不可少的。本文主要介绍了Java中使用java.util.Date和java.text.SimpleDateFormat两个类实现日期转换和格式化的相关知识点,希望对读者有所帮助。