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

Java中的日期格式化函数使用介绍

发布时间:2023-06-08 01:06:17

Java中的日期格式化是一个非常常用的功能,可以将日期类型转换为特定格式的字符串或者将字符串类型转换为日期类型,Java中主要通过SimpleDateFormat类来实现。

SimpleDateFormat类的构造方法:

1.SimpleDateFormat():创建一个默认格式的SimpleDateFormat对象,格式为yyyy-MM-dd HH:mm:ss

2.SimpleDateFormat(String pattern):创建一个指定格式的SimpleDateFormat对象,pattern为日期格式字符串,例如"yyyy-MM-dd"、"yyyy年MM月dd日"等,一定要保证格式对应。

SimpleDateFormat类主要有以下几个方法:

1.format()方法:将Date类型的日期转换为字符串类型的日期

2.parse()方法:将字符串类型的日期转换为Date类型的日期

3.formatToCharacterIterator()方法:将日期格式化为CharacterIterator对象

4.setLenient()方法:设置日期转换是否宽松(默认情况下为宽松,即对不符合规范的日期字符串也会尝试进行转换)

5.toLocalizedPattern()方法:返回本地化的日期格式字符串

6.toPattern()方法:返回当前SimpleDateFormat对象的日期格式字符串

下面就来分别介绍一下上述几个方法的使用方法:

1.format()方法:

public String format(Date date)

该方法输入一个Date类型的数据,返回一个按照指定格式化格式格式化后的字符串类型的日期。

示例代码:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");

Date date = new Date();

String dateStr = sdf.format(date);

System.out.println(dateStr);

输出结果:

2022/04/15

2.parse()方法:

public Date parse(String source) throws ParseException

该方法输入一个字符串类型的日期,返回一个按照指定格式格式化后的Date类型的日期。

示例代码:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");

String dateStr = "2022/04/15";

Date date = sdf.parse(dateStr);

System.out.println(date);

输出结果:

Fri Apr 15 00:00:00 CST 2022

3.formatToCharacterIterator()方法:

public AttributedCharacterIterator formatToCharacterIterator(Object obj)

该方法输入一个Date类型的数据,返回一个按照指定格式化格式格式化后的CharacterIterator对象类型的日期。

示例代码:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");

Date date = new Date();

AttributedCharacterIterator aci = sdf.formatToCharacterIterator(date);

System.out.println(aci.toString());

输出结果:

2022/04/15

4.setLenient()方法:

public void setLenient(boolean lenient)

该方法用于设置日期格式是否宽松,如果将其设置为true,则对不符合规范的日期格式进行转换,例如"2022/02/31",会自动将日期转换为"2022/03/03"。如果将其设置为false,则对不符合规范的日期格式不进行转换,会抛出异常。

示例代码:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");

sdf.setLenient(false);

String dateStr = "2022/02/31";

Date date = null;

try {

    date = sdf.parse(dateStr);

} catch (ParseException e) {

    e.printStackTrace();

}

输出结果:

java.text.ParseException: Unparseable date: "2022/02/31"

5.toLocalizedPattern()方法:

public String toLocalizedPattern()

该方法用于返回本地化的日期格式字符串。

示例代码:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");

System.out.println(sdf.toLocalizedPattern());

输出结果:

yyyy/MM/dd

6.toPattern()方法:

public String toPattern()

该方法用于返回当前SimpleDateFormat对象的日期格式字符串。

示例代码:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");

System.out.println(sdf.toPattern());

输出结果:

yyyy/MM/dd

综上所述,Java中的日期格式化函数非常简单实用,开发者在开发中应根据不同的需求选择不同的格式化方法进行日期转换。同时,在进行日期格式化时需要始终注意日期格式是否符合规范,避免因日期格式不规范而产生错误。