JAVA基础——时间Date类型转换

在java中有六大时间类,分别是:

1、java.util包下的Date类,

2、java.sql包下的Date类,

3、java.text包下的DateFormat类,(抽象类)

4、java.text包下的SimpleDateFormat类,

5、java.util包下的Calendar类,(抽象类)

6、java.sql包下的Time类,

7、java.sql包下的TimeStamp类。

一、java.util包下的Date类:

Date主要用来生成时间,Date有两个构造方法:Date()和Date(long date)

二、java.text包下的DateFormat类,(抽象类):

DateFormat继承自Format。

下面两个是实现的接口,两个接口无任何内容:

DateFormat是时间/日期格式化子类的抽象类,所以不能有构造方法实例化,可以用两个静态函数进行实例化。

getDateInstance()------返回的是日期

getDateTimeInstance()--------------------返回的是时间+日期。

三、java.text包下的SimpleDateFormat类:

SimpleDateFormat继承自DateFormat类,

主要功能是:完成日期之间的格式转换。

yyyy:MM:dd,HH:mm:ss:SSS(SSS是毫秒数)

四、java.util包下的Calendar类,(抽象类):

此类实例化有两种方式:

1、Calendar time=new GregorianCalendar();

2、Calendar time =Calendar.getInstance();

此类和日历相关:“YEAR”年,“MONTH”月,“DAY_OF_MONTH”日,"DAY_OF_WEEK"星期,"HOUR"小时。如:

五、java.sql包下的Date类:

只针对SQL语句使用,Date date=new Date();(也就=2017-01-01,没有时间部分)

六、java.sql包下的Time类,

七、java.sql包下的TimeStamp类。

输出结果:

输出结果:

结果:

结果:

结果:

 1 package test;
 2 
 3 import java.text.DateFormat;
 4 import java.text.ParseException;
 5 import java.text.SimpleDateFormat;
 6 import java.util.Calendar;
 7 import java.util.Date;
 8 import java.util.GregorianCalendar;
 9 
10 public class time {
11     public static void main(String[] args) throws ParseException {
12         // 将当前日期对象转换成毫秒值
13         Date date1 = new Date();
14         Long time1 = date1.getTime();
15         Long time2 = System.currentTimeMillis();// 获取当前时间的毫秒值
16         Calendar cal=Calendar.getInstance();
17         Long caltime=cal.getTimeInMillis();
18         System.out.println("当前日期对象转换成毫秒值:" + time2+"       Calendar类日期转换成毫秒值:"+caltime);
19 
20         // 将毫秒值转换成日期对象
21         Date date2 = new Date();
22         Long time3 = System.currentTimeMillis();
23         date2.setTime(time3);
24 
25         // 将日期字符串转换成日期对象
26         DateFormat df1 = new SimpleDateFormat("yyyy/MM/dd");
27         Date date3 = df1.parse("2017/01/12");
28         System.out.println("日期字符串转换成日期对象:" + date3);
29 
30         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
31         Date date = df.parse("2009-06-12 02:06:37");
32         System.out.println("日期字符串转换成日期格式:" + df.format(date));
33 
34         // 将日期对象转换成日期字符串
35         Date datetime = new Date();
36         SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
37         String stringtime = sdf.format(datetime);
38         System.out.println("日期对象转换成日期字符串:" + stringtime);
39 
40         Date date4 = new Date();
41         DateFormat df41 = DateFormat.getDateInstance(DateFormat.LONG);
42         DateFormat df42 = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);
43         String time4 = df41.format(date4);
44         String time5 = df42.format(date4);
45         System.out.println("getDateInstance时间:" + time4 + "    getDateTimeInstance时间:" + time5);
46 
47         Date d = new Date();
48         DateFormat df43 = DateFormat.getDateInstance(DateFormat.FULL);
49         DateFormat df44 = DateFormat.getDateInstance(DateFormat.SHORT);
50         DateFormat df45 = DateFormat.getDateInstance(DateFormat.MEDIUM);
51         String time43 = df43.format(d);
52         String time44 = df44.format(d);
53         String time45 = df45.format(d);
54         System.out.println("FULL类型时间:" + time43);
55         System.out.println("SHORT类型时间:" + time44);
56         System.out.println("MEDIUM类型时间:" + time45);
57 
58         // 日历
59         Calendar time = Calendar.getInstance();
60         int year = time.get(Calendar.YEAR);
61         int month = time.get(Calendar.MONTH);
62         int day = time.get(Calendar.DAY_OF_MONTH);
63         int week = time.get(Calendar.DAY_OF_WEEK);
64         int hour = time.get(Calendar.HOUR);
65         System.out.println("当前时间是:" + year + "年" + month + "月" + day + "日,星期" + week + "," + hour + "点");
66     }
67 }
1 当前日期对象转换成毫秒值:1504089815431       Calendar类日期转换成毫秒值:1504089815441
2 日期字符串转换成日期对象:Thu Jan 12 00:00:00 CST 2017
3 日期字符串转换成日期格式:2009-06-12 02:06:37
4 日期对象转换成日期字符串:2017/08/30
5 getDateInstance时间:2017年8月30日    getDateTimeInstance时间:2017年8月30日 下午06时43分35秒
6 FULL类型时间:2017年8月30日 星期三
7 SHORT类型时间:17-8-30
8 MEDIUM类型时间:2017-8-30
9 当前时间是:2017年7月30日,星期4,6点
原文地址:https://www.cnblogs.com/whx20100101/p/7454784.html