• 20145314郑凯杰 《Java程序设计》第7周学习总结


    20145314郑凯杰 《Java程序设计》第7周学习总结

    教材学习内容总结

    首先放上代码托管图片和本地代码图片:

    插图4:

    插图5:

    插图6:

    第十三章 时间与日期

    13.1 认识时间与日期

    时间的度量

    • 格林威治标准时间GMT(Greenwich Mean Time)时间:现在不是标准时间
    • 世界时(Universal Time,UT):1972年UTC出来之前,UT等价于GMT
    • 国际原子时(TAI):秒的定义
    • 世界协调时间(Corrdinated Universal Time, UTC): 闰秒,也就是铯原子辐射的振动次数。
    • Unix时间: 1970.1.1 00:00:00开始的秒数
    • epoch: java.util.Date epoch毫秒数

    日历

    • 公历
    • 儒略历,修正罗马历每三年设置一闰年的错误,改为四年。
    • 格里高利历,将儒略历1582年10月4号星期四的隔天,订为格里高利历1582年10月15日星期五。
    • ISO 8601标准,例如yyyy-mm-ddTHH:MM:SS.SSS这样格式的时间日期表示方法的标准。

    13.2 认识Date与Calendar

    Date:

    System.currentTimeMillis():1970年1月1日0时0分0秒0毫秒至今经过的毫秒数。

    用书上的例子来演示:

    插图1:

    可调用getTime()取得内部保存的epoch毫秒数值:

    格式化时间日期的DateFormat

    DateDateFormat
    Date只用来获取epoch毫秒数
    DateFormat来格式化成人类理解的年月日时分秒

    利用java.text.DateFormat来处理有关字符时间格式的处理有两种方式:

    一:构建SimpleDateFormat实例,好处是可以使用模式字符串自定义格式。
    二:使用DateFormat的getDateInstance (),getTimeInstance(),getDateTimeInstance()等静态方法。

    Calendar: 时间的运算

    • getInstance(): GregorianCalendar
    • getTime()
    • get()
    • add()
    • roll()
    • after()
    • before()

    取得的Calendar实例后,用getTime()取得Date实例,如果要取得年月日等时间字段,可以使用get()方法并指定Calendar上的字段枚举常数。

    运行CalenderUtil.java

    插图2:

    第十五章 通用API

    日志: 日志对信息安全意义重大,审计、取证、入侵检测等都会用到日志信息

    可以使用java.util.TimeZonegetDefault()来取得默认时区信息。

    可以使用Instant的静态方法now()取得代表Java epoch毫秒数的Instant实例。

    TemporalAmount:时间差以Duration定义,日期差以Period定义。

    Localization 本地化;Internationalization(i18n)国际化

    人类时间观点的API

    LocalDateTime包括日期与时间;LocalDate只有日期,如果设定不存在的日期会抛出DateTimeExceptionLocalTime只有时间。

    若需要时区信息,可基于上述三个时间描述的ZoneDateTimeOffsetDateTIme

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

    对于DateDemo.java

    我们知道其中的.currentTimeMillis的用法是返回以毫秒为单位的当前时间。当返回值的时间单位是毫秒时,值的粒度取决于底层操作系统,并且粒度可能更大。

    于是对其进行深究确认:

    运行了两次就可以知道其区别:

    插图1:

    插图3:

    所以就可以推断出返回以毫秒为单位的当前时间。

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

    本周的学习是JAVA较末尾的学习了。一晃眼,已经基本上学完了这厚厚的一本书。回首时间,才过了三分之一个学期,但是却完成了将近一学期的内容。这无论是对于哪方面来说,都是巨大的收获。虽然,真正掌握了多少我并不能确定。但是我相信,在下一次的实验中,在下一次的做项目中,我一定可以运用起我自己的所学的内容!

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 50/50 1/2 20/20
    第二周 700/600 2/4 38/38
    第三周 900/1100 1/7 60/60
    第四周 913/1350 1/9 90/90

    参考资料

  • 相关阅读:
    关于字符函数的一些应用总结
    常用数字函数简单举例
    dump浅析B树索引
    pl/sql developer 登陆sys用户
    关于oracle11g简单的网络配置
    关于oracle数据库读取数据的三种方式
    创建表
    SQL*Plus 与数据库的交互
    Oracle编程艺术--配置环境
    MongoDB--(NoSQL)入门介绍
  • 原文地址:https://www.cnblogs.com/5314zkj/p/5402880.html
Copyright © 2020-2023  润新知