用java用类描述时间_java日期时间Date类

java.util包提供了Date类来封装当前的日期和时间。 Date类提供两个构造函数来实例化Date对象。

第一个构造函数使用当前日期和时间来初始化对象。

Date( )

第二个构造函数接收一个参数,该参数是从1970年1月1日起的微秒数。

Date(long millisec)

Date对象创建以后,可以调用下面的方法。

序号方法和描述

1

boolean after(Date date)

若当调用此方法的Date对象在指定日期之后返回true,否则返回false。

2

boolean before(Date date)

若当调用此方法的Date对象在指定日期之前返回true,否则返回false。

3

Object clone( )

返回此对象的副本。

4

int compareTo(Date date)

比较当调用此方法的Date对象和指定日期。两者相等时候返回0。调用对象在指定日期之前则返回负数。调用对象在指定日期之后则返回正数。

5

int compareTo(Object obj)

若obj是Date类型则操作等同于compareTo(Date) 。否则它抛出ClassCastException。

6

boolean equals(Object date)

当调用此方法的Date对象和指定日期相等时候返回true,否则返回false。

7

long getTime( )

返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。

8

int hashCode( )

返回此对象的哈希码值。

9

void setTime(long time)

用自1970年1月1日00:00:00 GMT以后time毫秒数设置时间和日期。

10

String toString( )

转换Date对象为String表示形式,并返回该字符串。

获取当前日期时间

Java中获取当前日期和时间很简单,使用Date对象的 toString()方法来打印当前日期和时间,如下所示:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

importjava.util.Date;public classDateDemo {public static voidmain(String args[]) {//初始化 Date 对象

Date date = newDate();//使用 toString() 函数显示日期时间

System.out.println(date.toString());

}

}

View Code

日期比较

Java使用以下三种方法来比较两个日期:

使用getTime( ) 方法获取两个日期(自1970年1月1日经历的微妙数值),然后比较这两个值。

使用方法before(),after()和equals()。例如,一个月的12号比18号早,则new Date(99, 2, 12).before(new Date (99, 2, 18))返回true。

使用compareTo()方法,它是由Comparable接口定义的,Date类实现了这个接口。

使用SimpleDateFormat格式化日期

SimpleDateFormat是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat允许你选择任何用户自定义日期时间格式来运行。例如:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

import java.util.*;import java.text.*;public classDateDemo {public static voidmain(String args[]) {

Date dNow= newDate( );

SimpleDateFormat ft=

new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");

System.out.println("Current Date: " +ft.format(dNow));

}

}

View Code

Current Date: 星期六 2016.03.26 at 01:28:51 下午 CST

简单的DateFormat格式化编码

时间模式字符串用来指定时间格式。在此模式中,所有的ASCII字母被保留为模式字母,定义如下:

字母描述示例

G

纪元标记

AD

y

四位年份

2001

M

月份

July or 07

d

一个月的日期

10

h

A.M./P.M. (1~12)格式小时

12

H

一天中的小时 (0~23)

22

m

分钟数

30

s

秒数

55

S

微妙数

234

E

星期几

Tuesday

D

一年中的日子

360

F

一个月中第几周的周几

2 (second Wed. in July)

w

一年中第几周

40

W

一个月中第几周

1

a

A.M./P.M. 标记

PM

k

一天中的小时(1~24)

24

K

A.M./P.M. (0~11)格式小时

10

z

时区

Eastern Standard Time

'

文字定界符

Delimiter

"

单引号

`

Java 休眠(sleep)

sleep()使当前线程进入停滞状态(阻塞当前线程),让出CPU的使用、目的是不让当前线程独自霸占该进程所获的CPU资源,以留一定时间给其他线程执行的机会。

你可以让程序休眠一毫秒的时间或者到您的计算机的寿命长的任意段时间。例如,下面的程序会休眠3秒:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

import java.util.*;public classSleepDemo {public static voidmain(String args[]) {try{

System.out.println(new Date( ) + "\n");

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

System.out.println(new Date( ) + "\n");

}catch(Exception e) {

System.out.println("Got an exception!");

}

}

}

View Code

Sat Mar 26 13:43:58 CST 2016Sat Mar26 13:44:01 CST 2016

测量时间

下面的一个例子表明如何测量时间间隔(以毫秒为单位):

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

import java.util.*;public classDiffDemo {public static voidmain(String args[]) {try{long start =System.currentTimeMillis( );

System.out.println(new Date( ) + "\n");

Thread.sleep(5*60*10);

System.out.println(new Date( ) + "\n");long end =System.currentTimeMillis( );long diff = end -start;

System.out.println("Difference is : " +diff);

}catch(Exception e) {

System.out.println("Got an exception!");

}

}

}

View Code

Sat Mar 26 13:49:44 CST 2016Sat Mar26 13:49:47 CST 2016Difference is :3034

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值