使用 Date 和 SimpleDateFormat 类表示时间

时间:2022-11-09 11:26:08

在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的Date类。这个类最主要的作用就是获取当前时间,我们来看下Date的类的使用:

Date d=new Date();//使用默认的构造方法创建Date对象
System.out.println(d);//输出Date对象

使用Date类的默认无参构造方法创建出的对象就代表当前时间,我们可以直接输出Date对象显示当前的时间,显示的架构如下:

Fri Apr 24 13:57:05 CST 2015

其中 ,Fri 代表 星期五,Apr代表四月, 24 代表 24号 CST 代表 中国标准时间也就是北京时间,东八区。

从上面的输出结果中,我们发现,默认的时间格式不是很友好(也不是我们想要显示的),此时我们就用到了 java.text 包中的 SimpledDateFormat 类 大显身手了,可以使用 SimpleDateFormat 来对日期时间进行格式化,如可以将日期装换为指定格式的文本,也可将文本转换为日期。

1、使用format()方法将日期转换为指定格式的文本

//创建Date对象 表示当前时间
Date d=new Date();
//创建SimpleDateFormat 对象 指定目标格式
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//调用format()方法,格式化时间,转换为指定格式的字符串
String today=sdf.format(d);
//输出转换后的字符串
System.out.println(today);

输出结果 :(现在到可以猜到了 嘿嘿 ):2015-04-24 14:07:03

2、使用 parse() 方法将文本转换为日期

//创建日期格式的字符串
String day="2015年04月24日 14:13:50";
//创建SimpleDateFomat对象,指定字符串的日期格式
SimpleDateFormat df=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
//调用 parse() 方法,将字符串转换为日期
Date d=df.parse(day);
//输出
System.out.println("当前时间:"+d);

输出结果:当前时间:Fri Apr 24 14:13:50 CST 2015

最后:来个这两者都有的demo:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; public class HelloWorld { public static void main(String[] args) throws ParseException {
// 使用format()方法将日期转换为指定格式的文本
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd HH:mm");
SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 创建Date对象,表示当前时间
Date now=new Date(); // 调用format()方法,将日期转换为字符串并输出
System.out.println(sdf1.format(now));
System.out.println(sdf2.format(now));
System.out.println(sdf3.format(now));
// 使用parse()方法将文本转换为日期
String d = "2014-6-1 21:05:36";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 调用parse()方法,将字符串转换为日期
Date date =sdf.parse(d); System.out.println(date);
}
}