zoukankan      html  css  js  c++  java
  • 20145205 《Java程序设计》第7周学习总结

    教材学习内容总结

    认识时间与日期

    1.格林威治时间(GMT):通过观察太阳而得,因为地球公转轨道为椭圆形且速度不一,本身自传减速而造成误差。

    2.世界时(UT):通过观测远方星体跨过子午线而得,受地球自转速度影响有误差。

    3.国际原子时(TAI):将秒的国际单位定义为铯原子辐射振动9192631770周耗费的时间。

    4.世界协调时间(UTC):保持TAI和UT时间误差不要过大采用了闰秒修正。

    5.Unix时间:Unix系统时间表示法,定义为UTC时间1970年1月1日为起点经过的秒数,不考虑闰秒修正。

    6.epoch:某个特定时间开始,时间轴上的某一瞬间。

    7.ISO 8601标准:统一时间日期的数据交换格式,例如:yyyy-mm-ddTHHH:MM:SS.SSS等。

    8.UTC偏移:精度每15度偏移1小时,通常表示Z符号。

    Date与DateFormat

    1.Date:取得系统时间,方法之一就是使用System.currentTimeMillis()方法,返回long类型整数,代表1970年1月1日0时0分0秒0毫秒至今经过的毫秒数。Date有两个构造函数可以使用,一个可使用epoch毫秒数构建,另一个为无自变量构造函数,内部亦是使用System.currentTimeMillis()取得毫秒数,调用getTime()可取得内部保存的epoch毫秒数值。
    p429DateDemo.java运行结果

    2.DateFormat:DateFormat是个抽象类,其操作类是java.text.SimpleDateFormat,可以处理字符串时间格式。可以通过DateForm的各种静态方法进行格式化,使用模式字符串自定义格式,使用parse()方法将指定的字符串剖析为Date实例。
    p430DateFormatDemo.java运行结果

    Calendar:

    1.Calendar:想要取得某个时间日期信息,或者是对时间日期进行操作,可以使用Calendar实例。Calendar是个抽象类,java.util.GregorianCalendar是其子类,操作了儒略历与格里高利历的混合历。可以设定时间日期等字段,使用add()方法改变Calendar的时间,使用roll()方法加减日期中某个字段,使用after()before()方法比较两个Calendar的时间日期先后。

    p435CalendarUtil.java运行结果

    2.TimeZone:Calendar时会使用默认时区,可以使用java.util.TimeZonegetDefault()来取得默认时区信息。

    p436TimeZoneDemo.java运行结果

    机器时间

    1.LocalDateTime:包括日期与时间。

    2.LocalDate:只有日期,设定不存在的日期时会抛出DateTimeException错误。

    3.LocalTime:只有时间。

    4.ZonedDateTime:当补上时区信息后组合起来的时间实际上不存在时,ZonedDateTime会自动更正。

    p439ZonedDateTimeDemo.java运行结果

    5.OffsetdateTime:单纯代表UTC偏移量,使用ISO 8601。

    6.Year、YearMonth、Month、MonthDay:如果只想要表示年或月,使用Year或Month;如果想要表示年月或月日,使用YearMonth或MonthDay。

    p440MonthDemo.java运行结果

    对时间的运算

    1.TemporalAmount:TemporalAmount的操作类是Period和Duration。ofPattern()是java.time.format.DateTimeFormatter的静态方法,对于年、月、星期、日的日期差使用Period类定义,plus()方法可以接受Duration实例来计算,对于时间计量,类Duration来定义。

    例:p443HowOld2.java运行结果

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

    本周因为重点在于第十三章,所以就偷懒没有看12章,每周一章的感觉还听好的,而且十三章的内容也不多,而且自己看到自己到底活了多久还是蛮有意思的,本周认识到了java中时间的表示和方法,也感受到了这几天的在好天气下运动的快乐。

    使用git推送代码

    代码托管情况

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 4500行 25篇 350小时
    第一周 100/100 1/2 15/15
    第二周 150/250 1/3 12/27
    第三周 400/650 1/4 22/49
    第四周 510/1160 1/5 32/81
    第五周 831/1991 1/6 35/116
    第六周 945/1991 2/6 26/142
    第七周 236/2227 3/9 18/160
  • 相关阅读:
    Unity3D系列教程--使用免费工具在Unity3D中开发2D游戏 第一节
    第十三周项目2:形状类族中的纯虚函数
    js中的null和undefined
    javaScript Windows相关
    Array和ArrayList的异同点
    汉语-词语-人才:T型人才
    图书-计算机-软件编程:《程序员的自我需要》
    智力-智力测试-门萨:百科
    智力开发-早教:七田真
    经济-AMA:百科
  • 原文地址:https://www.cnblogs.com/20145205y/p/5401975.html
Copyright © 2011-2022 走看看