如何使用Java函数实现日期转换与格式化操作?
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两个类实现日期转换和格式化的相关知识点,希望对读者有所帮助。
