java语言中的date类介绍及使用

  • Post author:
  • Post category:java


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类的对象。

  1. 使用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”.

其中的分隔符”-“可以替换成其他非字母的任意字符(也可以是汉字).



版权声明:本文为m0_46620273原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。