20145204 《Java程序设计》第7周学习总结
教材学习内容总结
时间
GMT、UT、TAI
格林威治标准时间(GMT)的正午是太阳抵达天空最高点之时,因为地球公转轨道为椭圆且速度不一样,本身自转亦缓慢减速中,因此会造成越来越大的时间误差。
世界时(UT)是借由观测远方星体跨过子午线而得,这会比观察太阳准确。但是仍会受地球自转速度影响。
国际原子时(TAI)将秒的国际单位定义为铯原子辐射震动9192631770周耗费的时间。时间从UT的1958年开始同步。
Date的处理:
Date有两个构造函数得到时间:
Date date=new Date();Date date1=new Date(currentTimeMillis());
结果:
格式化时间日期:
使用DateFormat的getInstance()、getTimeInstance()、getDateInstance()。
结果:Calendar
Date现在建议作为时间轴上的瞬时代表,要格式化时间日期则通过DateFormat,如果想要取得某个时间日期信息,或者是对时间日期进行操作,可以使用calendar实例。
calendar是个抽象类,java.util.GregorianCalendar是其子类。
Calendar的处理:
设置时间:
Calendar calendar=Calendar.getInstance();calendar.set(2016,Calendar.May,26);out.println(calendar.get(Calendar.YEAR));out.println(calendar.get(Calendar.MONTH));out.println(calendar.get(Calendar.DATE));
结果:
改变时间:Calendar.add(Calendar.MONTH,1);Calendar.add(Calendar.HOUR,1);Calendar.add(Calendar.YEAR,-1);Calendar.add(Calendar.DATE,3);
结果:
代码调试中的问题和解决过程
在运行调试课本DateDemo.java时我把类名设置成Date直接重置了原本API函数中的Date,出现了如下图的结果:
经过在博客园小组提问,改正错误,得到正确的结果:
本周代码托管截图:
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 3500行 | 30篇 | 400小时 | |
第一周 | 100/100 | 1/1 | 20/20 | |
第二周 | 200/300 | 1/2 | 30/50 | |
第三周 | 300/600 | 1/3 | 28/78 | |
第四周 | 400/1000 | 1/4 | 20/98 | |
第五周 | 350/1350 | 1/5 | 30/128 | |
第六周 | 450/1800 | 2/6 | 32/ 160 | |
第七周 | 350/2150 | 2/8 | 20/ 180 |