您的位置:

Java工程师学习:DateFormat日期格式化

1、介绍

在开发Java程序过程中,经常会涉及到日期和时间的处理。Java中的DateFormat类允许我们将日期和时间格式化为字符串,也可将字符串解析为相应的日期或时间。本文将对DateFormat类进行详细讲解,让Java工程师能够更好地掌握日期和时间的处理。

2、正文

一、DateFormat概述

DateFormat是一个抽象类,主要用于将日期和时间格式化为字符串表示,或者将字符串解析为日期和时间。DateFormat提供了许多方法用于格式化和解析日期和时间,比如format()方法用于格式化日期和时间为字符串,parse()方法用于将字符串转换为日期时间对象等等。

二、DateFormat常用方法

1、format()方法

format()方法格式化日期时间为字符串,其语法为:

public final String format(Date date)

其中date表示要格式化的日期时间对象,返回值为格式化后的日期时间字符串。

例如,以下代码将日期时间格式化为"yyyy-MM-dd HH:mm:ss"格式:

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateFormatDemo {
    public static void main(String[] args) {
        Date now = new Date();
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String formattedDate = dateFormat.format(now);
        System.out.println(formattedDate);
    }
}

输出结果为:

2022-02-22 22:22:22

2、parse()方法

parse()方法将字符串解析为日期时间对象,其语法为:

public Date parse(String source)
        throws ParseException

其中source表示要解析的日期时间字符串,返回值为解析后的日期时间对象。需要注意的是,parse()方法会抛出ParseException异常,如果解析失败则会抛出该异常。

例如,以下代码将字符串解析为Date对象:

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateFormatDemo {
    public static void main(String[] args) throws ParseException {
        String source = "2022-02-22 22:22:22";
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date parsedDate = dateFormat.parse(source);
        System.out.println(parsedDate);
    }
}

输出结果为:

Tue Feb 22 22:22:22 CST 2022

3、常用格式化字符

在DateFormat中,有一些常用的格式化字符,可以用于格式化日期和时间。下表列出了常用的格式化字符:

格式化字符 含义
y 年份
M 月份(1~12)
d 月份中的天数(1~31)
H 小时(0~23)
m 分钟(0~59)
s 秒数(0~59)

例如,以下代码将日期时间格式化为"yyyy年MM月dd日 HH时mm分ss秒"格式:

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateFormatDemo {
    public static void main(String[] args) {
        Date now = new Date();
        DateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
        String formattedDate = dateFormat.format(now);
        System.out.println(formattedDate);
    }
}

输出结果为:

2022年02月22日 22时22分22秒

三、小结

本文介绍了DateFormat类的概述和常用方法。DateFormat类提供了很多方法用于日期和时间的格式化和解析。在应用程序中,DateFormat类是非常有用的,能够帮助我们轻松处理日期和时间相关的问题,提高开发效率。