1.Date类日常使用
构造方法
构造方法 说明 Date() 使用系统当前时间创建对象 Date(long date) 设置毫秒数以1970/1/1为基准创建日期 Date(int year, int month, int date) 创建指定年、月、日的日期对象(基准年份是1900) Date(int year, int month, int date,int hrs, int min, int sec) 创建指定年、月、日、时、分、秒的日期对象(基准年份是1900)
构造实例
Date date1 = new Date ( ) ;
System. out. println ( date1) ;
Date date2 = new Date ( 0 ) ;
System. out. println ( date2) ;
Date date3 = new Date ( 118 , 7 , 2 ) ;
System. out. println ( date3) ;
Date date4 = new Date ( 118 , 7 , 24 , 8 , 34 , 34 ) ;
System. out. println ( date4) ;
常用方法
方法 说明 boolean after(Date when) 如果当前日期对象在when指定的日期对象之后,返回true,否则返回false boolean before(Date when) 如果当前日期对象在when指定的日期对象之前,返回true,否则返回false void getTime() 获取自1970年1月1日起到指定日期的毫秒数 boolean equals(Object obj) 两个日期对象完全相同,返回true,否则返回false String toString() 日期转字符串
方法实例
Date date = new Date ( ) ;
System. out. println ( date. before ( new Date ( 119 , 1 , 1 ) ) ) ;
System. out. println ( date. after ( new Date ( 119 , 1 , 1 ) ) ) ;
System. out. println ( date. getTime ( ) ) ;
Date date2 = new Date ( ) ;
Date date3 = new Date ( date. getTime ( ) ) ;
System. out. println ( date. equals ( date2) ) ;
System. out. println ( date. equals ( date3) ) ;
System. out. println ( date. toString ( ) ) ;
2.Calendar类日常使用
注意:calendar类是抽象类,无法实例化,只能通过类中的getInstance()方法才能获得
常用方法
方法 说明 Calendar getInstance() 返回默认地区和时区的Calendar对象 int get(int fields) 返回调用对象中fields指定部分的值 void set(int fields, int value) 将value中指定的值设置到fields指定的部分 void add(int fields, int amount) 将amount值添加到fields指定的时间或日期部分
方法实例
public static void main ( String[ ] args) throws ParseException {
Calendar cal = Calendar. getInstance ( ) ;
show ( cal) ;
cal. set ( 2018 , 1 , 1 ) ;
show ( cal) ;
cal. set ( 1987 , 7 , 2 , 2 , 12 , 12 ) ;
show ( cal) ;
cal. set ( Calendar. YEAR, 2019 ) ;
cal. set ( Calendar. MONTH, 9 ) ;
cal. set ( Calendar. DATE, 9 ) ;
cal. set ( Calendar. HOUR, 9 ) ;
cal. set ( Calendar. MINUTE, 9 ) ;
cal. set ( Calendar. SECOND, 9 ) ;
show ( cal) ;
cal. add ( Calendar. YEAR, 1 ) ;
cal. add ( Calendar. MONTH, 1 ) ;
show ( cal) ;
}
public static void show ( Calendar cal) {
System. out. print ( "日历的时间为:" ) ;
System. out. print ( cal. get ( Calendar. YEAR) + "年" ) ;
System. out. print ( ( cal. get ( Calendar. MONTH) + 1 ) + "月" ) ;
System. out. print ( cal. get ( Calendar. DATE) + "日" ) ;
System. out. print ( cal. get ( Calendar. HOUR) + ":" ) ;
System. out. print ( cal. get ( Calendar. MINUTE) + ":" ) ;
System. out. println ( cal. get ( Calendar. SECOND) ) ;
}
3.Date与Calendar转换
Calendar的另外两个重要方法
方法 说明 void setTime(Date date) 利用Date类型参数设置Calendar时间 Date getTime() 返回Date类型的时间对象
方法实例
Date date1 = new Date ( ) ;
SimpleDateFormat df = new SimpleDateFormat ( "yyyy年MM月dd日 HH:mm:ss" ) ;
String dateStr = df. format ( date1) ;
System. out. println ( dateStr) ;
String strTime = "2018-2-20 19:13:43" ;
df. applyPattern ( "yyyy-MM-dd HH:mm:ss" ) ;
Date date2 = df. parse ( strTime) ;
System. out. println ( date2) ;
Calendar cal = Calendar. getInstance ( ) ;
Date date3 = cal. getTime ( ) ;
System. out. println ( date3) ;
cal. setTime ( date2) ;
System. out. println ( cal. getTime ( ) ) ;
4.总结
操作时间时,Calendar类要更加灵活一些,无论是设置、获取还是修改时间的某一部分,Calendar都能够轻松做到 无论是Date类还是Calendar类,在设置或获取月份(注意:只获取月份)时,月份数字都代表上个月,比如需要设置10月份,则在代码中应该写的是数字9 System.out.println(new Date()),展示的是真实的月份,不要和第2点搞混 Date类实例化:
参数如果是毫秒数,基准年份是1970; 参数如果是年月日格式,基准年份是1900 Date类与Calendar类,都有一个getTime()方法,注意区别:
在Date类中表示获取1970至所设置时间的毫秒数 在Calendar类中表示转换成Date类型 Date和Calendar之间的转换,用的是Calendar类中setTime()和getTime()方法