利用Java函数实现日期格式化
在Java中,日期格式化是一种非常常见的操作。简单来说,日期格式化就是将日期转化为字符串,或者将字符串转化为日期。在Java中,实现日期格式化可以使用Java的SimpleDateFormat类。下面我们就来介绍一下如何使用这个类来进行日期格式化。
1. SimpleDateFormat类的概述
SimpleDateFormat是Java中用来格式化日期的一个类,可以将Date类型的日期对象转换为指定格式的日期字符串,也可以把日期字符串按照指定格式转化为Date对象。这个类提供了一系列的构造方法以及格式化日期的方法,具体可参考Java文档。在使用SimpleDateFormat时,需要指定一个日期格式字符串,其中各个字符代表的含义如下:
字符 | 说明
-|-
yyyy | 年份,从4位数字表示
MM | 月份,2位数字表示,不足补0
M | 月份,1位或2位数字表示,不足不补0
dd | 日期,2位数字表示,不足补0
d | 日期,1位或2位数字表示,不足不补0
HH | 小时,24小时制,2位数字表示,不足补0
H | 小时,24小时制,1位或2位数字表示,不足不补0
hh | 小时,12小时制,2位数字表示,不足补0
h | 小时,12小时制,1位或2位数字表示,不足不补0
mm | 分钟,2位数字表示,不足补0
m | 分钟,1位或2位数字表示,不足不补0
ss | 秒,2位数字表示,不足补0
s | 秒,1位或2位数字表示,不足不补0
S | 毫秒数,3位数字表示
2. 将日期对象格式化成字符串
要将日期对象格式化成字符串,可以使用SimpleDateFormat类提供的format方法。该方法的参数为一个日期对象,返回值为格式化后的日期字符串。示例代码如下所示:
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormatTest {
public static void main(String[] args) {
Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
String str = sdf.format(now);
System.out.println(str);
}
}
通过上述代码,我们可以获取到当前的日期时间,并将其格式化为指定格式的字符串。具体的,此示例中的输出结果为:2021-09-07 14:08:28 743。其中,如果需要输出12小时制的时间,则将格式字符串中的HH改为hh即可。
3. 将字符串格式化成日期对象
要将字符串格式化成日期对象,可以使用SimpleDateFormat类提供的parse方法。该方法的参数为一个日期字符串,返回值为转化后的日期对象。需要注意的是,需要保证传入的日期字符串和指定的日期格式能够匹配,否则会报错。示例代码如下所示:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormatTest {
public static void main(String[] args) {
String str = "2021-09-07 14:08:28 743";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
try {
Date date = sdf.parse(str);
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
通过上述代码,我们可以将一个日期字符串格式化成对应的日期对象,并输出该日期对象。需要注意的是,parse方法可能会抛出ParseException异常,需要进行异常处理。
4. 总结
在Java中,SimpleDateFormat类是使用最广泛的日期格式化类之一。通过掌握其构造方法和format、parse方法,我们可以很方便地进行日期格式化的操作。通过将日期转化成指定格式的字符串,或者将字符串转化成日期对象,我们可以更好地处理一些与日期有关的数据。
