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