在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 packagetest;2
3 importjava.text.DateFormat;4 importjava.text.ParseException;5 importjava.text.SimpleDateFormat;6 importjava.util.Calendar;7 importjava.util.Date;8 importjava.util.GregorianCalendar;9
10 public classtime {11 public static void main(String[] args) throwsParseException {12 //将当前日期对象转换成毫秒值
13 Date date1 = newDate();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 = newDate();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 = newDate();36 SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");37 String stringtime =sdf.format(datetime);38 System.out.println("日期对象转换成日期字符串:" +stringtime);39
40 Date date4 = newDate();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 = newDate();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点
原文:http://www.cnblogs.com/whx20100101/p/7454784.html