java常用类-java日期处理类

java常用类-java日期处理类


Date类

Date类是jdk给我们提高的标准日期类,在java.util包下;

给下示例代码:

1
2
3
4
5
6
7
8
9
10
11
package  com.java1234.chap05.sec01;
 
import  java.util.Date;
 
public  class  TestDate {
 
     public  static  void  main(String[] args) {
         Date date= new  Date();
         System.out.println( "当前日期:" +date);
     }
}

运行输出:

当前日期:Wed Nov 02 16:54:01 CST 2016


输出了当前日期和时间 但是我们发现 格式不怎么好。


Calendar类

Calendar是日历类,也是java.util包下的,功能比较强大,能获取到年月日时分秒的具体值;

我们给下示例:打印当前日期时间 年月日时分秒:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package  com.java1234.chap05.sec01;
 
import  java.util.Calendar;
 
public  class  TestCalendar {
 
     public  static  void  main(String[] args) {
         Calendar calendar=Calendar.getInstance();
         System.out.println(calendar.get(Calendar.YEAR));
         System.out.println(calendar.get(Calendar.MONTH)+ 1 );  // 月份从0开始 要+1
         
         System.out.println( "现在是:" +calendar.get(Calendar.YEAR)+ "年"
                 +(calendar.get(Calendar.MONTH)+ 1 )+ "月"
                 +calendar.get(Calendar.DAY_OF_MONTH)+ "日"
                 +calendar.get(Calendar.HOUR_OF_DAY)+ "时"
                 +calendar.get(Calendar.MINUTE)+ "分"
                 +calendar.get(Calendar.SECOND)+ "秒" );
     }
}

运行输出:

2016

11

现在是:2016年11月2日17时15分17秒


SimpleDateFormat类

SimpleDateFormat类主要是用作日期类型转换用的,在java.text包下:

我们写个示例,把日期对象和日期字符串相互转换:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package  com.java1234.chap05.sec01;
 
import  java.text.ParseException;
import  java.text.SimpleDateFormat;
import  java.util.Date;
 
public  class  TestSimpleDateFormat {
 
     /**
      * 将日期对象格式化为指定格式的日期字符串
      * @param date 传入的日期对象
      * @param format 格式
      * @return
      */
     public  static  String formatDate(Date date,String format){
         String result= "" ;
         SimpleDateFormat sdf= new  SimpleDateFormat(format);
         if (date!= null ){
             result=sdf.format(date);
         }
         return  result;
     }
     
     /**
      * 将日期字符串转换成一个日期对象 
      * @param dateStr 日期字符串
      * @param format 格式
      * @return
      * @throws ParseException 
      */
     public  static  Date formatDate(String dateStr,String format)  throws  ParseException{
         SimpleDateFormat sdf= new  SimpleDateFormat(format);
         return  sdf.parse(dateStr);
     }
     
     public  static  void  main(String[] args)  throws  ParseException {
         Date date= new  Date();
         
         System.out.println(formatDate(date, "yyyy-MM-dd" ));
         System.out.println(formatDate(date, "yyyy-MM-dd HH:mm:ss" ));
         System.out.println(formatDate(date, "yyyy年MM月dd日HH时mm分ss秒" ));
         
         String dataStr= "1989-11-02 18:01:41" ;
         Date date2=formatDate(dataStr, "yyyy-MM-dd HH:mm:ss" );
         System.out.println(formatDate(date2, "yyyy-MM-dd HH:mm:ss" ));
     }
}

运行输出:

2016-11-02

2016-11-02 18:06:50

2016年11月02日18时06分50秒

1989-11-02 18:01:41

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值