Date类 和 SimpleDateFormat类简述

一 Date 类

在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的Date类。这个类最主要的作用就是获取当前时间,使用Date类代表当前系统时间:使用Date类的默认构造方法创建出来的对象就代表当前的时间,由于Date类覆盖了toString()方法。所以可以直接输出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 代表 中国标准时间也就是北京时间,东八区。

1 Date 类使用之Date代表当前时间

使用Date类代表当前系统时间:使用Date类的默认构造方法创建出来的对象就代表当前的时间,由于Date类覆盖了toString()方法。所以可以直接输出Date类型的对象

Date date = new Date();
System.out.println(date);
输出 :Sun Aug 28 10:23:06 CST 2016
2 Date 类使用之Date代表指定时间

使用Date类代表指定时间:使用带参的构造方法,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要代表的年份减去1900,实际需要代表的月份减去1以后的值。

Date date = new Date(2016-1900,8-1,28);
System.out.println(date);
输出 :Sun Aug 28 00:00:00 CST 2016  代表的日期就是2016年8月28号

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

二 SimpleDateFormat类

使用 Date 和 SimpleDateFormat 类表示时间。Date类的默认时间格式不友好,可以使用 SimpleDateFormat 来对日期时间进行格式化,如可以将日期转换为指定格式的文本,也可将文本转换为日期。 SimpleDateFormat类常用parse()和format()两种方法可以进行时间格式格式化。parse()和format()两种方法是有区别的,parse()返回的是一个Date类型(系统日期格式)数据,format返回的是一个StringBuffer类型(文本格式)的数据。

1 parse()方法

SimpleDateFormat中的parse方法可以把String型的字符串转换成特定格式的Date类型(日期类型) 即 字符串 -> Date类型

使用步骤:

1.创建日期格式的字符串 
	
	String day="2015年04月24日 14:13:50";
2.创建SimpleDateFomat对象,指定字符串的日期格式      
	
	SimpleDateFormat df=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
	
3.调用 parse() 方法,将字符串转换为日期            
	
	 Date d=df.parse(day); 

4.输出                                               
	
	System.out.println("当前时间:"+d);
	
5.结果                                               
	
	 Fri Apr 24 14:13:50 CST 2015

如下例:

String str = "2013-01-21 15:10:20";  
Date date = null;  
SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd-HH:mm:ss");  
 try {  
	              date = sdf.parse(str);  
	           } catch (ParseException e) {  
	              System.out.println(e.getMessage());  
	           }   
System.out.println(date);  //输出指定日期
System.out.println(date.getTime());  //输出指定日期 距离 xxx 的毫秒数
2 format()方法

SimpleDateFormat中的format方法可以把Date型的字符串转换成特定格式的String类型 即 Date类型 -> 字符串

使用步骤:

扫描二维码关注公众号,回复: 4663753 查看本文章
 1.创建Date对象,便是当前时间              
 
 	  Date d = new Date();
 
 2.创建 SimpleDateFormat 对象,指定目标格式    
 	
 	 SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm");
 	 
3.调用format()方法,格式化时间,转换为指定格式字符串 
	
	 String today = sdf.format(d);
4.输出转换后的字符串                   
 	
 	System.out.println(today);
5.结果是 : 2014-06-11  09:55:48  

如下例:

String str = "2013-01-21 15:10:20";  
Date date = null;  
SimpleDateFormat dateformat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");
String a=dateformat.format(new Date());
System.out.println("时间:"+a);
3 日期时间格式与毫秒数的相互转换

输入日期 转换为 毫秒数,使用Date方法

// 先用SimpleDateFormat.parse() 方法将日期字符串转化为目标Date格式,通过Date.getTime()方法,将其转化为毫秒数

String date = "2017-06-27 15-20-00";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");//24小时制
//  SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh-mm-ss");//12小时制
long time = simpleDateFormat.parse(date).getTime();
System.out.println(time); 
输出 : 121456789.....  当前时间毫秒数

猜你喜欢

转载自blog.csdn.net/LinuxArmbiggod/article/details/85262782