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.TimeZone
中getTimeZone()
方法获得各地区时 -
想要取得指定时区的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 |