您的位置:首页 > 编程语言 > Java开发

Java核心类库 - 时间Date和Calendar

2015-01-15 15:46 148 查看
时间日期

1)java中的时间类有:Date和Calendar

2)java中时间类的本质 long(毫秒数)

Date = long +历法算法(方法gerYear())

Calendar = long +历法算法(方法ger())

3) 时间的标准有两种

(1970)GMT long

(0)UTC long

4) java中基本的时间表示GMT long

5) java提供了Date类型表示时间和日期

Date 是long 类型的包装

6) Calendar 是历法的抽象

历法:公历,农历,太阳历

7) GregorianCalendar是历法的实现,采用公历的算法实现的

Calendar cal = Calendar.getInstance();

Calendar cal = new GregorianCalendar();//除了日本和泰国,效果等同于上一句

8) Date和 Calendar的默认值就是系统当前时间

一 java中表示时间的方式:

1) 格林威治时间(GMT):1970年1月1日 00:00:00(注:中国是东八区,所以要+8个小时)

  也就是1970年1月1日 08:00:00

2 )公元元年(UTC): 0年

3 )目前java中3种日期表达方式long, Date , Calendar都在用

?
二 时间类型转换
long <-> Date <-> Calendar

long
--->Date : dat = new Date(l)

dat.setTime(l)

Date
--->Calendar : cal.setTime(dat)

Calendar ---> Date: cal.getTime()

Date ---> long :dat.getTime()

注:Date dat , long l ,Calendar cal

例子

?
三 时间的输入与输出

1) 日期输出的本质是将Date转换为格式化的String

2) 日期输入的本质是将格式化的 String转换为 Date

3) SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

  构建SimpleDateFormat 一般提供日期的格式"yyyy-MM-dd"具体参看javadoc

   如:"yyyy-MM-dd HH:mm:ss"

   "yyyyMMdd"

   "dd/MM/yy"

   "MM/dd/yyyy"

常用方法

fmt.parse(String) 可以实现将(合法)字符串解析为日期类型,经常用于处理日期输入

fmt.format(Date) 可以把日期格式化为字符串用于输出处理

使用字符串String输出时间

Date ---> String:

DateFormat fmt = new SimpleDateFormat("HH:mm:ss");

fmt.format(date)

把字符串String时间转为Date时间(个是必须相同)

String --> Date :

DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");

fmt.parse("1999-2-2")

注:java没有提供String直接转换为Calendar的API方法,但第三方提供的API有这种方法

如果Calendar需要转为String,必须先转换为Date

Calendar ----> Date :

Date dat = cal.getTime();

例子

?
四 时间的计算

时间计算的问题

1) 本质是时间毫秒数的计算

2) 简单时间计算,直接计算毫秒数,如:3天以后,2小时等

3) 复杂时间计算,利用Calender类提供的历法算法实现

常用方法:

add() set()

Calendar 提供的方法本是上也是计算毫秒数,

?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐