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