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             |

20145237 《Java程序设计》第七周学习总结的更多相关文章

  1. 201521123027 <java程序设计>第七周学习总结

    1.本周学习总结 2.书面作业 Q1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 答: 源代码: //contains()方法 public boolean c ...

  2. 20145237 《Java程序设计》第九周学习总结

    20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...

  3. 201871010106-丁宣元 《面向对象程序设计(java)》第七周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第七周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...

  4. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  5. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  6. 20145236 《Java程序设计》第九周学习总结

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

  7. 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结

    20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...

  8. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  9. 20175209 《Java程序设计》第九周学习总结

    20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...

  10. 20175317 《Java程序设计》第九周学习总结

    20175317 <Java程序设计>第九周学习总结 学前准备 首先下载XAMPP,下载完成后打开: 将前两个选项打开 在IDEA中配置驱动mysql-connector-java-5.1 ...

随机推荐

  1. 指针数组与带参main函数

    (一)指针数组 指针数组就是每一个元素存放一个地址,相当于一个指针变量.如:int *p[4]指针数组比较适合用来指向若干字符串,使得处理字符串更加灵活.例如,现在要将若干字符串按字母顺序由小到大输出 ...

  2. 【POJ1151】Atlantis(线段树,扫描线)

    [POJ1151]Atlantis(线段树,扫描线) 题面 Vjudge 题解 学一学扫描线 其实很简单啦 这道题目要求的就是若干矩形的面积和 把扫描线平行于某个轴扫过去(我选的平行\(y\)轴扫) ...

  3. 【Luogu3768】简单的数学题(莫比乌斯反演,杜教筛)

    [Luogu3768]简单的数学题(莫比乌斯反演,杜教筛) 题面 洛谷 \[求\sum_{i=1}^n\sum_{j=1}^nijgcd(i,j)\] $ n<=10^9$ 题解 很明显的把\( ...

  4. [Luogu2973][USACO10HOL]赶小猪

    Luogu sol 首先解释一波这道题无重边无自环 设\(f_i\)表示\(i\)点上面的答案. 方程 \[f_u=\sum_{v,(u,v)\in E}(1-\frac PQ)\frac{f_v}{ ...

  5. 如何在Win10下安装MySQL 5.7绿色版

    一.背景 系统升级到Win10后准备在本地搭建一个MySQL环境,用于研究学习.在网上找了很多其他人写的经验总结,Step by step的做,不断的遇到问题,没有成功. 最后老老实实的去读Mysql ...

  6. Windows下Python环境的搭建

    我刚开始接触Python没多久,当然这也是为初学者来更好的去入门Python,我电脑上既跑着Windows也跑着Red Hat的Linux,相比较而言,开发我还是更青睐于Linux系统,很多开发工具红 ...

  7. java中数组复制的两种方式

    在java中数组复制有两种方式: 一:System.arraycopy(原数组,开始copy的下标,存放copy内容的数组,开始存放的下标,需要copy的长度); 这个方法需要先创建一个空的存放cop ...

  8. Java生成条码二维码

    一.概述 可用barcode4j或zxing等第三方库,推荐zxing. barcode4j资料链接:http://barcode4j.sourceforge.net/ zxing资料链接:https ...

  9. Learn HTML5 in 5 Minutes!

    There's no question, HTML5 is a hot topic for developers. If you need a crash course to quickly unde ...

  10. Java集合框架(二)

    原文  http://www.jianshu.com/p/2070cb32accb List接口 查阅API,看 List 的介绍.有序的 collection (也称为序列).此接口的用户可以对列表 ...