Java核心类库——时间Date和Calendar

 

时间日期
1)java中的时间类有:DateCalendar

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都在用

复制代码
 1例子 2import java.util.Calendar; 3import java.util.Date; 4import java.util.GregorianCalendar; 5 6publicclass LongDateDemo { 7publicstaticvoid main(String[] args) { 8long now = System.currentTimeMillis(); 9long year = now/1000/60/60/24/365 +1970;10  System.out.println(year);11//一年 地球绕太阳一圈(365天+1/4天)12//原点(公元元年)1314/* date.getYear()是将date内部的long时间,根据历法计算15   * 为年份,返回值是2位数年份,如:1997年返回97,但是过了16   * 2K年,返回3位数年份,如2012返回11217*/1819//老板本20   Date date = new Date();//默认是当前时间(long)21int y = date.getYear()+1900;22int month = date.getMonth()+1;23   System.out.println(y+"年"+month+"月");2425//新版本26//Calendar 历法27   Calendar cal = new GregorianCalendar();//默认是当前时间(long)28   y = cal.get(Calendar.YEAR);//201229   month = cal.get(Calendar.MONTH)+1;//430   System.out.println(y+"年"+month+"月");313233 }3435 }
复制代码

 


二 时间类型转换  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

例子

复制代码
 1import java.util.Calendar; 2import java.util.Date; 3import java.util.GregorianCalendar; 4 5/** 6 * 时间的类型转换 7*/ 8publicclass DateCaseDemo { 9publicstaticvoid main(String[] args) {10long gmt = 0;//格林威治时间 1970/01/011112   Date date = new Date();13   date.setTime(gmt);//回到1970 元旦,相当于long -->Date14   System.out.println(date.getYear()+1900);//19701516   Calendar cal = new
                    
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信