java语言中的date类介绍及使用
import.java.util.Date;
在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。这里简单介绍一下Date类的使用。
1、使用Date类代表当前系统时间
Date d = new Date();
System.out.println(d);
使用Date类的默认构造方法创建出的对象就代表当前时间,由于Date类覆盖了toString方法,所以可以直接输出Date类型的对象,显示的结果如下:
Sun Mar 08 16:35:58 CST 2009
在该格式中,Sun代表Sunday(周日),Mar代表March(三月),08代表8号,CST代表China Standard Time(中国标准时间,也就是北京时间(东八区))。
2、使用Date类代表指定的时间
Date d1 = new Date(2009-1900,3-1,9);
System.out.println(d1);
使用带参数的构造方法,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要代表的年份减去1900,实际需要代表的月份减去1以后的值。例如上面的示例代码代表就是2009年3月9号。
实际代表具体的年月日时分秒的日期对象,和这个类似。
3、获得Date对象中的信息
Date d2 = new Date();
//年份
int year = d2.getYear() + 1900;
//月份
int month = d2.getMonth() + 1;
//日期
int date = d2.getDate();
//小时
int hour = d2.getHours();
//分钟
int minute = d2.getMinutes();
//秒
int second = d2.getSeconds();
//星期几
int day = d2.getDay();
System.out.println(“年份:” + year);
System.out.println(“月份:” + month);
System.out.println(“日期:” + date);
System.out.println(“小时:” + hour);
System.out.println(“分钟:” + minute);
System.out.println(“秒:” + second);
System.out.println(“星期:” + day);
使用Date类中对应的get方法,可以获得Date类对象中相关的信息,需要注意的是使用getYear获得是Date对象中年份减去1900以后的值,所以需要显示对应的年份则需要在返回值的基础上加上1900,月份类似。在Date类中还提供了getDay方法,用于获得Date对象代表的时间是星期几,Date类规定周日是0,周一是1,周二是2,后续的依次类推。
4、Date对象和相对时间之间的互转
Date d3 = new Date(2009-1900,3-1,10);
long time = 1290876532190L;
//将Date类的对象转换为相对时间
long t = d3.getTime();
System.out.println(t);
//将相对时间转换为Date类的对象
Date d4 = new Date(time);
System.out.println(d4);
使用Date对象中的getTime方法,可以将Date类的对象转换为相对时间,使用Date类的构造方法,可以将相对时间转换为Date类的对象。
-
使用toString函数打印当前日期
Date date = new Date();
System.out.println(date.toString());
6.使用SimpleDateFormat函数格式化日期
(import java.text.SimpleDateFormat;)
Date dNow = new Date( );
SimpleDateFormat ft = new SimpleDateFormat (“yyyy-MM-dd hh:mm:ss”);
System.out.println(“当前时间为: ” + ft.format(dNow));
注意:
yyyy : 代表年(不去区分大小写)
假设年份为 2017
“y” , “yyy” , “yyyy” 匹配的都是4位完整的年,如 : “2017”.
而”yy” 匹配的是年分的后两位,如 : “15”.
超过4位,会在年份前面加”0″补位.
如 “YYYYY”对应”02017”。
MM : 代表月(只能使用大写)
假设月份为 9
“M” 对应 “9”
“MM” 对应 “09”
“MMM” 对应 “Sep”
“MMMM” 对应 “Sep”
超出3位,仍然对应 “September”.
dd : 代表日(只能使用小写)
假设为13号
“d” , “dd” 都对应 “13”
超出2位,会在数字前面加”0″补位.
例如 “dddd” 对应 “0013”.
hh : 代表时(区分大小写,大写为24进制计时,小写为12进制计时)
假设为15时
“H” , “HH” 都对应 “15” ,
超出2位,会在数字前面加”0″补位. 例如 “HHHH” 对应 “0015”.
“h” 对应 “3”
“hh” 对应 “03” ,
超出2位,会在数字前面加”0″补位.
例如 “hhhh” 对应 “0003”.
mm : 代表分(只能使用小写)
假设为32分
“m” , “mm” 都对应 “32”
超出2位,会在数字前面加”0″补位.
例如”mmmm” 对应 “0032”.
ss : 代表秒(只能使用小写)
假设为15秒
“s” , “ss” 都对应 “15” ,
超出2位,会在数字前面加”0″补位.
例如 “ssss” 对应 “0015”.
E : 代表星期(只能使用大写)
假设为 Sunday
“E” , “EE” , “EEE” 都对应 “Sun”.
“EEEE” 对应 “Sunday”
超出4位 , 仍然对应 “Sunday”.
a : 代表上午还是下午.
如果是上午就对应 “AM” , 如果是下午就对应 “PM”.
其中的分隔符”-“可以替换成其他非字母的任意字符(也可以是汉字).