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

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

教材学习内容总结

13章 时间与日期

时间的度量:

  • 格林威治标准时间(GMT时间),现已不作为标准时间使用。
  • 世界时(UT),秒的单位定义是基于TAI,也就是铯原子辐射振动次数。
  • UTC考虑了地球自转越来越慢而有闰秒修正,确保UTC与UT相差不会超过0.9秒。
  • Unix时间是1970年1月1日00:00:00 为起点而经过的秒数,不考虑闰秒。

年历简介:

  • 儒略历:,公历的前身,修正了罗马历隔三年设置一闰年的错误,改采四年一闰。
  • 格里高利历:改革了儒略历。
  • ISO 8601标准:并非年历系统,而是时间日期表示方法的标准,用以统一时间日期的数据交换格式。

13.2 认识Date与Calendar

Date

  • 使用System.currentTimeMillis()方法,返回long类型,代表从1970年1月1日至今毫秒数
  • getTime()取得毫秒数值

格式化时间日期

  • java.text.DateFormat中的getDateInstance()getTimeInstance()getDateTimeInstance()类,使用方法在书本P431介绍详细

Calendar

  • get()方法可取年、月、日字段,如get(Calendar.YEAR/MONTH/DATE)
    例如

      out.println(calendar.get(Calendar.YEAR));  
      out.println(calendar.get(Calendar.MOUNTH));  
      out.println(calendar.get(Calendar.DATE));
    
  • add()方法可改变时间,如add(Calendar.YEAR/MONTH/DATE,2)

      calendar.add(Calendar.MONTH,1);  //Calendar时间加一个月  
      calendar.add(Calendar.HOUR,1);   //Calendar时间加一小时  
      calendar.add(Calendar.YEAR,-2);  //Calendar时间减两年  
      calendar.add(Calendar.DATE,-3);   //Calendar时间减三天
    
  • 如果打算只针对日期中某个字段加减,则可以使用roll()方法:

      calendar.roll(Calendar.DATE,1);  //只对日字段加1
    

设定区时

  • java.util.TimeZonegetTimeZone()方法获得各地区时

  • 想要取得指定时区的TimeZone实例,可以使用ID字串

      TimeZone.getTimeZone("Asia/Taipei");//获得台湾时区的时间
    

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

书上输出的台湾时间,我想试下在大陆输出的什么时间

public static void main(String[] args) {
   TimeZone timeZone =TimeZone.getDefault();
   out.println(timeZone.getDisplayName());
   out.println("\t时区ID:"+timeZone.getID());
   out.println("\t时区ID:"+timeZone.getID());
   out.println("\t时区ID:"+timeZone.getID());
}


没想到竟然是上海时间,竟然不是北京

代码调试中的问题和解决过程

自己尝试编写了书上课后的习题,发现有很多不熟练,然后百度了很多有用的方法终于编出来了

关于书上DateFormatDemo.java,我自己也敲了一遍,书上格式与我的略有不同

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

这周花在java的时间比较少,感觉自己学习java的时间大部分都分给了写博客。还有今天上网百度怎么用NetBeans上传代码到git,结果失败了,感觉无爱。

这段话我是周一在学数据结构突然有感受,要写在这里。我突然发现累的不是学java,而是写博客,java这门语言是一门非常有趣的语言,但是类似强迫学习的方式让我感觉学习不是为了自己,而是为了分数。一个好学生觉得自己有什么不足的地方就会自觉花时间去学习。就像数据结构一样,自己用了三个小时没有调试出代码结果只拿到了60分的合格分,但是一些同学通过网上抄代码的形式很快就完成了实验,分数还很高。我后悔吗?根本不!我知道自己哪里不足,所以我花时间在数据结构上,突然学懂了很多。那些抄代码的人呢?他们完成了老师交待的任务并且获得了高分,难道他们下去就会自己把代码搞懂吗?基本不会。同理于java,有人为了写博客交差而学java,他们下去会真的搞懂吗?
老师看看就好,当我发下牢骚,别在全班投影了.....

学习进度条

附上代码托管

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 1/1 20/20
第二周 300/500 1/2 18/38
第三周 500/1000 1/3 22/60
第四周 500/1500 1/4 30/90
第五周 400/1900 1/5 20/110
第六周 400/2300 2/7 20/130
第七周 300/2600 2/9 15/145

参考资料

posted @ 2016-04-17 22:31  20145320周岐浩  阅读(261)  评论(4编辑  收藏  举报