java 日期类封装_Java语言学习(5)-Java中基础封装类(日期、时间类)

日期和时间封装类

1、 Data类

Java日期和时间采用Data类。Data类在java.util包中。

Data类构造函数:

1)       Data()   采用当前时间初始化对象;

2)       Data(long millisec)   采用1970年1月1日起时间毫秒数来初始化对象。

Data类的方法:

1)       boolean after(Data d)、boolean before(Data d)

Data对象和参数指定日期较早晚,返回boolean值。

2)       boolean equals(Object data)

判断Data对象和参数中日期是否相等。

3)       int compareTo(Data d)

Data对象和日期参数比较,返回int值:

相等则返回0;

Data对象在参数日期参数后,返回正数;

否则返回负数

4)       long getTime( )

返回1970 年 1 月 1 日 00:00:00 GMT起时间毫秒数

5)       void setTime(long time)

用1970 年 1 月 1 日 00:00:00 GMT起时间毫秒数设置日期和时间

6)       String toString()

把Date 对象转换为以下形式的 String:dow mon dd hh:mm:ss zzz yyyy,其中dow标识星期几

2、 日期格式化:

一、SimpleDateFormat类

SimpleDateFormat类是个日期格式化类。SimpleDataFormat是一个以语言环境敏感的方式来格式化和分析日期的类。样例:

Date dNow = new Date();

SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");

ft.format(dNow)

二、使用printf格式化Data对象的输出格式:

printf方法可以很轻松地格式化时间和日期。使用两个字母格式,它以%t开头并且以表示格式的字母结尾。

1)       %tc

包括全部日期和时间信息,星期六 十月 27 14:21:20 CST 2007

2)       %tF

"年-月-日"格式 2007-10-27

3)       %tD "

月/日/年"格式 10/27/07

4)       %tr

"HH:MM:SS PM"格式(12时制) 02:25:51 下午

5)       %tT

"HH:MM:SS"格式(24时制)14:28:16

6)       %tR

"HH:MM"格式(24时制)14:28

三、解析时间字符串为时间对象:

SimpleDateFormat 类有一些附加的方法,特别是parse(),它试图按照给定的SimpleDateFormat 对象的格式化存储来解析字符串。样例:

SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd");

String input = "1818-11-11";

Date t;

t = ft.parse(input);

3、 进程休眠

可以采用如下方式进入停滞状态(阻塞当前线程),让出CPU的使用。样例:

Thread.sleep(1000*3); // 休眠3秒

4、 Calender类

如何设置和获取日期数据的特定部分呢,比如说小时,日,或者分钟?又如何在日期的这些部分加上或者减去值呢? 答案是使用Calendar 类。

Calendar类的功能要比Date类强大很多,而且在实现方式上也比Date类要复杂一些。

Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建对象的过程对程序员来说是透明的,只需要使用getInstance方法创建即可。

1)       创建Calendar类对象。由于Calendar类是个抽象类,其创建对象方式不同:

Calendar c = Calendar.getInstance();  //创建一个Calendar对象,时间是当前时间

2)       修改calendar对象的时间

方式一:public final void set(int year,int month,int date)

样例:

c.set(2009, 6 - 1, 12);

方式二:指定日期中某个字段,修改

Calendar.YEAR                年份

Calendar.MONTH               月份

Calendar.DATE                  日期

Calendar.DAY_OF_MONTH      日期,和上面的字段意义完全相同

Calendar.HOUR                  12小时制的小时

Calendar.HOUR_OF_DAY  24小时制的小时

Calendar.MINUTE                     分钟

Calendar.SECOND                    秒

Calendar.DAY_OF_WEEK 星期几

样例:

c.set(Calendar.DATE,10);

c.set(Calendar.YEAR,2008);

3)       获取Calendar对象的具体某个字段

样例:

// 获得年份

int year = c1.get(Calendar.YEAR);

// 获得分钟

int minute = c1.get(Calendar.MINUTE);

// 获得秒

int second = c1.get(Calendar.SECOND);

// 获得星期几(注意(这个与Date类是不同的):1代表星期日、2代表星期1、3代表星期二,以此类推)

int day = c1.get(Calendar.DAY_OF_WEEK);

4)       Calendar对象的具体某个加减操作

样例:

c.add(Calendar.DATE, 10);  //10天后时间

c.add(Calendar.DATE, -10);  //10天前时间

5、 GregorianCalendar

GregorianCalendar类实现公历日历。详见类定义。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值