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

Java中日期格式化函数SimpleDateFormat的用法详解

发布时间:2023-06-13 11:10:41

SimpleDateFormat是Java中日期格式化的一个类,使得我们可以将日期按照指定的格式进行输出或者将字符串转化为日期。使用SimpleDateFormat需要注意日期格式字符串的编写,不同的格式字符串会输出不同的日期格式。

SimpleDateFormat的常用方法有:

1. format()方法:将日期按照指定的格式进行输出。

例如:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
String strDate = sdf.format(date);
System.out.println(strDate);

输出结果为当前日期的格式化字符串,例如:"2022-05-12"。

2. parse()方法:将字符串按照指定的格式解析为日期。

例如:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String strDate = "2022-05-12";
Date date = sdf.parse(strDate);
System.out.println(date);

输出结果为字符串所代表的日期对象,例如:"Thu May 12 00:00:00 CST 2022"。

3. setLenient()方法:设置是否宽容解析日期格式错误,true为宽容,false为不宽容。

例如:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
sdf.setLenient(false);
String strDate = "2022-05-32 10:00:00";
try {
    Date date = sdf.parse(strDate);
    System.out.println(date);
} catch (ParseException e) {
    System.out.println("日期格式错误!");
}

由于日期格式错误,不宽容解析将抛出ParseException异常。

以上只是SimpleDateFormat的一些常用方法,开发者还可以根据需求使用其他方法。在编写日期格式字符串时应该注意:

1. yyyy代表年份,MM代表月份,dd代表日期,hh代表小时,mm代表分钟,ss代表秒钟。

2. 大写的字母代表12小时制,小写的字母代表24小时制。

3. 格式字符串中除了y、M、d、h、m、s等字母之外的任何字符都将被原样输出。

4. 日期格式字符串中可以包含'-'、'/'、'.'、':'、空格等字符用来分隔。

最后,SimpleDateFormat的线程不安全性需要注意,建议使用ThreadLocal或者其他方式解决。