Date类
Date类拥有多个构造函数,但是部分已经过时。还在使用的构造方法有以下两种。
构造方法 属性 Date() 创建一个Date,对应当前时间,精度在毫秒值 Date(long date) 根据时间戳毫秒数,创建对应的Date对象,时间戳是从1970-01-01 00:00:00 GMT
常用到的方法如下:
方法名 功能 long getTime(); 通过Date类对象获取对应当前时间的毫秒数
public class Demo1 {
public static void main ( String[ ] args) {
Date date = new Date ( ) ;
System. out. println ( date. getTime ( ) ) ;
}
}
上面的数字很显然不是我们想看到的结果,这么长一串数字我们无法获得有效信息所以有DateFormat 日期格式类帮助我们转换一下
DateFormat 日期格式类
DateFormat 是一个abstract修饰的类,用于转换时间格式。DateFormat不能直接使用,一般使用DateFormat子类SimpleDataFormat来使用.
SimpleDataForma构造方法中需要的参数是一个String,String类型的参数有特定的要求。
常用方法
String format(Date date); 根据指定匹配要求,转换Date格式成为字符串 Date parse(String format); 按照指定的匹配规则,解析对应的字符串,返回一个Date数据
这两个方法的使用都需要和SimpleDateFormat类相结合 SimpleDateFormat类的构造方法中提供了一种设置格式的参数,常见的参数如下表.
标识字母(区分大小写) 对应含义 y 年 M 月 d 日 H 时(24小时) m 分 s 秒
public class Demo1 {
public static void main ( String[ ] args) {
Date date = new Date ( ) ;
SimpleDateFormat sdf = new SimpleDateFormat ( "yyyy年MM月dd日 HH:mm:ss" ) ;
String format = sdf. format ( date) ;
System. out. println ( format) ;
}
}
Calender日历类
由于Date类中多种方法已经过时不方面继续使用,于是有了Calender日历类,替换了很多Date类中的方法。把很多数据都作为静态的属性,通过一些特定
的方法来获取。比Date处理日期数据更加方便。Calender是一个abstract修饰的类,没有自己的类对象。这里通过特定的方法getInstance获取
Calender日历类对象。public static Calender getInstance() 可以获取默认当前系统时区的Calender对象。常用方法如下。
方法名 用途 public int get(int field); 返回特定数据的数值 public void set(int field, int value); 设置特定字段对应的数据 public Date getTime(); 返回得到一个Date对象,从计算机元年到现在的毫秒数,保存在date对象中
Calender日历类还有一些常见的静态修饰的时间分量常量
字段名 含义 YEAR 年 MONTH 月(从0开始,使用时习需要+1) DAY_OF_MONTH 当前月的第几天 HOUR 小时(12小时制) HOUR_OF_DAY 小时(24小时制) MINUTE 分钟 SECOND 秒 DAY_OF_WEEK 周几(周日为1)
public class Demo3 {
public static void main ( String[ ] args) {
Calendar calendar = Calendar. getInstance ( ) ;
int year = calendar. get ( Calendar. YEAR) ;
int month = calendar. get ( Calendar. MONTH) + 1 ;
int day = calendar. get ( Calendar. DAY_OF_MONTH) ;
int hour = calendar. get ( Calendar. HOUR_OF_DAY) ;
int minute = calendar. get ( Calendar. MINUTE) ;
int second = calendar. get ( Calendar. SECOND) ;
int dayOfWeek = calendar. get ( Calendar. DAY_OF_WEEK) - 1 ;
System. out. println ( year + "-" + month + "-" + day + " " + hour
+ ":" + minute + ":" + second + " " + dayOfWeek) ;
System. out. println ( "------------------" ) ;
calendar. set ( Calendar. YEAR, 2008 ) ;
calendar. set ( Calendar. MONTH, 7 ) ;
calendar. set ( Calendar. DAY_OF_MONTH, 8 ) ;
Date time = calendar. getTime ( ) ;
System. out. println ( time) ;
System. out. println ( "------------------" ) ;
}