你的位置:首页 > Java教程

[Java教程]使用 Date 和 SimpleDateFormat 类表示时间


在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 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);  }}