20145237 《Java程序设计》第七周学习总结

20145237 《Java程序设计》第七周学习总结

教材学习内容总结

 

第十三章   一、认识时间与日期   1.时间的度量   在正式认识Java提供了哪些时间处理API之前,得先来了解一些时间、日期的历史问题,这样你才会知道,时间日期确实是个很复杂的问题,而使用程序来处理时间日期,也不仅仅是使用API的问题。   a.格林威治标准时间:格林威治标准时间简称GMT时间,一开始是参考自格林威治皇家天文台的标准太阳时间,格林威治标准时间的正午是太阳抵达天空最高点之时,格林威治标准时间常被不严谨的当成是UTC时间。   b.世界时:世界时是借由观测远方星体跨过子午线而得,也称UT,这会比观察太阳来得准确一些。1972年引入UTC之前,GMT与UT是相同的。   c.国际原子时:虽然观察远方星体会比观察太阳来得准确,不过UT基本上仍受地球自转速度影响而会有所误差。1967年定义的国际原子时(TAI),将秒的国际单位定义为铯原子辐射振动9192631770周耗费的时间,时间从UT的1958年开始同步。   d.世界协调时间:由于基于铯原子振动定义的秒长是固定的,然而地球自转会越来越慢,这会使得实际上 TAI时间会不断超前基于地球自转的UT系列时间,为了保持TAI与UT时间不要差距过大,因而提出了具有折衷修正版本的世界协调时间(UTC)。   e.Unix时间:Unix系统的时间表示法,定义为UTC时间1970年1月1日00:00:00为起点而经过的秒数,不考虑闰秒修正,用以表达时间轴上某一瞬间。   f.epoch:某个特定时代的开始,时间轴上某一瞬间。例如java.util.Date封装的时间信息,就是January 1,1970,00:00:00 GMT经过的毫秒数,可以简称为epoch毫秒数。   就目前来说,即使标注为GMT,实际上谈到的时间指的是UTC时间。秒的单位定义是基于TAI,也就是铯原子辐射振动次数。Unix时间是1970年1月1日00:00:00为起点而经过的秒数,不考虑闰秒。  

2.年历简介:

 •儒略历,现今公历的前身,用来取代罗马历,修正了罗马历隔三年设置一闰年的错误,改采四年一润。  •格里高利历改革了儒略历,由教宗Pope Gregory ⅩⅢ于1582年颁行,将儒略历1582年10月4日星期四的隔天,定为格里高利历1582年10月15日星期五。

3.认识时区   从地理上来说,由于地球是圆的,基本上一边白天另一边就是夜晚,为了让人们对时间的认知符合作息,因而设置了UTC偏移,大致上来说,经度每15度是偏移一个小时,考虑了UTC偏移的时间表示上,通常会标识Z符号。不过有些国家的领土横跨的经度很大,一个国家有多个时间反而造成困扰,因而不采取每15度偏移一小时的做法,像美国仅有4个时区,而中国,印度只采用单一时区。一年的毫秒数绝对不是单纯的 365X24X60X60X1000,更不要基于这类错误的观念来进行时间与日期运算。   13.2 认识Date与Calendar   •时间轴上瞬间的Date   •System.currentTimeMillis():如果想要取得系统时间,方法之一是使用System.currentTimeMillis()方法,返回的是long类型整数,代表1970年1月1日0时0分0秒0毫秒至今经过的毫秒数   •有人会使用Date实例来取得系统时间描述,不过Date也是偏向机器的时间观点,例如:  import java.util.*; import static java.lang.System.*;

public class DateDemo {     public static void main(String[] args) {         Date date1 = new Date(currentTimeMillis());         Date date2 = new Date();

        out.println(date1.getTime());         out.println(date2.getTime());     }

教材学习中的问题和解决过程

问题: 如何计算一个程序的运行时间?

解决:

long startTime=System.currentTimeMillis();   //获取开始时间

  doSomeThing();  //测试的代码段

  long endTime=System.currentTimeMillis(); //获取结束时间

  System.out.println("程序运行时间: "+(end-start)+"ms");

 

本周代码托管截图

其他(感悟、思考等,可选)

本周有许多实验,大部分时间都用来进行实验研究了。但是本周只有一章学习内容,所以感觉还是比较轻松的。

学习进度条

|            | 代码行数(新增/累积)| 博客量(新增/累积)|学习时间(新增/累积)|重要成长| | --------   | :----------------:|:----------------:|:---------------:  |:-----:| | 目标        | 5000行            |   30篇           | 400小时            |       | | 第七周      | 200/1230           |   2/14            | 20/110             |      

posted on 2016-04-17 19:46  20145237  阅读(245)  评论(1编辑  收藏  举报