使用Date和SimpleDateFormat类表示时间
1、Date类
需要处理日期和时间的相关数据时可以使用 java.util 包中的 Date 类,这个类最主要的作用就是获取当前时间。下面看看用法:
import java.util.Date;
public class TestDate {
public static void main(String[] args) {
// 使用默认的构造方法创建Date对象
Date date = new Date();
// 输出date对象
System.out.println(date);// 输出内容为:Wed Apr 24 18:12:30 CST 2019
}
}
可以看出默认的输出格式不是我们常见的日期格式。如果想要按指定的格式进行显示,如 2014-06-11 09:22:30 ,那该怎么做呢?此时就到了 java.text 包中的 SimpleDateFormat 类大显身手的时候了!!可以使用 SimpleDateFormat 来对日期时间进行格式化,如可以将日期转换为指定格式的文本,也可将文本转换为日期。下面看看其用法:
2、SimpleDateFormat类
-
使用 format() 方法将日期转换为指定格式的文本
import java.text.SimpleDateFormat; import java.util.Date; public class TestDate { public static void main(String[] args) { // 使用默认的构造方法创建Date对象 Date date = new Date(); // 输出date对象 System.out.println(date);// 输出内容为:Wed Apr 24 18:12:30 CST 2019 // 创建SimpleDateFormat对象,并指定目标格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 调用format方法,对当前日期进行格式化,返回一个字符串 String now = sdf.format(date); System.out.println(now);// 输出内容为:2019-04-24 18:21:09 } }
代码中的 “yyyy-MM-dd HH:mm:ss” 为预定义字符串, yyyy 表示四位年, MM 表示两位月份, dd 表示两位日期, HH 表示小时(使用24小时制), mm 表示分钟, ss 表示秒,这样就指定了转换的目标格式,最后调用 format() 方法将时间转换为指定的格式的字符串。
-
使用 parse() 方法将文本转换为日期
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class TestDate { public static void main(String[] args) { // 创建日期格式字符串 String source = "2019年04月24日 18:34:25"; // 创建SimpleDateFormat对象 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); try { Date now = sdf.parse(source); System.out.println(now);// 输出:Wed Apr 24 18:34:25 CST 2019 } catch (ParseException e) { e.printStackTrace(); } } }