java常用类-java日期处理类

来源:互联网 发布:淘宝怎么寄到美国 编辑:程序博客网 时间:2024/05/29 08:09

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

原创粉丝点击