• 【Java】常用API——日期时间类、System类


    🔎这里是【Java】,关注我学习Java不迷路
    👍如果对你有帮助,给博主一个免费的点赞以示鼓励
    欢迎各位🔎点赞👍评论收藏⭐️

    👀专栏介绍

    【Java】 目前主要更新Java,一起学习一起进步。

    👀本期介绍

    本期主要介绍常用API——日期时间类、System类

    文章目录

    1. 日期时间类

    1.1 Date类

    1.2 DateFormat类

    1.3 练习

    1.4 Calendar类

    2. System类

    2.1 currentTimeMillis方法

    2.2 arraycopy方法

    1. 日期时间类

    1.1 Date

    概述
    java.util.Date 类 表示特定的瞬间,精确到毫秒。
    继续查阅 Date 类的描述,发现 Date 拥有多个构造函数,只是部分已经过时,但是其中有未过时的
    构造函数可以把
    毫秒值转成日期对象。
    public Date() :分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
    public Date(long date) :分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为 历元
    epoch
    ,即 1970 1 1 00:00:00 GMT )以来的指定毫秒数。
    tips: 由于我们处于东八区,所以我们的基准时间为 1970 1 1 8 0 0 秒。
    简单来说:使用无参构造,可以自动设置当前系统时间的毫秒时刻;指定 long 类型的构造参数,可
    以自定义毫秒时
    刻。例如:
    tips: 在使用 println 方法时,会自动调用 Date 类中的 toString 方法。 Date 类对 Object 类中的 toString
    法进行
    了覆盖重写,所以结果为指定格式的字符串。
    常用方法  
    Date 类中的多数方法已经过时,常用的方法有:
    public long getTime() 把日期对象转换成对应的时间毫秒值。

    1.2 DateFormat

    java.text.DateFormat 是日期 / 时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文
    本之间的转
    , 也就是可以在 Date 对象与 String 对象之间进行来回转换。
    格式化 :按照指定的格式,从 Date 对象转换为 String 对象。
    解析 :按照指定的格式,从 String 对象转换为 Date 对象。
    构造方法
    由于 DateFormat 为抽象类,不能直接使用,所以需要常用的子类 java.text.SimpleDateFormat
    这个类需要一个
    模式(格式)来指定格式化或解析的标准。构造方法为:
    public SimpleDateFormat(String pattern) :用给定的模式和默认语言环境的日期格式符号构造
    SimpleDateFormat
    参数 pattern 是一个字符串,代表日期时间的自定义格式。
    格式规则
    常用的格式规则为:
    备注:更详细的格式规则,可以参考 SimpleDateFormat 类的 API 文档 0
    创建 SimpleDateFormat 对象的代码如:
    常用方法
    DateFormat 类的常用方法有:
    public String format(Date date) :将 Date 对象格式化为字符串。
    public Date parse(String source) :将字符串解析为 Date 对象。
    format 方法
    使用 format 方法的代码为:

     

    parse 方法
    使用 parse 方法的代码为:

     

    1.3 练习

    请使用日期时间相关的 API ,计算出一个人已经出生了多少天。
    思路:
    1. 获取当前时间对应的毫秒值
    2. 获取自己出生日期对应的毫秒值
    3. 两个时间相减(当前时间 出生日期)
    代码实现:

    1.4 Calendar

    概念
    日历我们都见过
    为静态成员变量,方便获取。日历类就是方便获取各个时间属性的。
    获取方式
    Calendar 为抽象类,由于语言敏感性, Calendar 类在创建对象时并非直接创建,而是通过静态方法
    创建,返回子

    类对象,如下:
    Calendar 静态方法
    public static Calendar getInstance() :使用默认时区和语言环境获得一个日历
    例如:

     

    常用方法

    根据 Calendar 类的 API 文档,常用方法有:
    public int get(int field) :返回给定日历字段的值。
    public void set(int field, int value) :将给定的日历字段设置为给定值。
    public abstract void add(int field, int amount) :根据日历的规则,为给定的日历字段添加或减去指
    定的时间量。
    public Date getTime() :返回一个表示此 Calendar 时间值(从历元到现在的毫秒偏移量)的 Date
    象。
    Calendar 类中提供很多成员常量,代表给定的日历字段:

     

    get/set 方法
    get 方法用来获取指定字段的值, set 方法用来设置指定字段的值,代码使用演示:

     

     

    add 方法
    add 方法可以对指定日历字段的值进行加减操作,如果第二个参数为正数则加上偏移量,如果为负
    数则减去偏移
    量。代码如:

     

    getTime 方法
    Calendar中的 getTime 方法并不是获取毫秒时刻,而是拿到对应的 Date 对象。

     

    小贴士:
    西方星期的开始为周日,中国为周一。
    Calendar 类中,月份的表示是以 0-11 代表 1-12 月。
    日期是有大小关系的,时间靠后,时间越大。

    2. System

    java.lang.System 类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,在
    System 类的 API
    档中,常用的方法有:
    public static long currentTimeMillis() :返回以毫秒为单位的当前时间。
    public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) :将
    数组中指定的数据拷贝到另一个数组中。

    2.1 currentTimeMillis方法

    实际上, currentTimeMillis 方法就是 获取当前系统时间与 1970 01 01 00:00 点之间的毫秒差值
    练习
    验证 for 循环打印数字 1-9999 所需要使用的时间(毫秒)

     

    2.2 arraycopy方法

    public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) :将
    数组中指定的数据拷贝到另一个数组中。
    数组的拷贝动作是系统级的,性能很高。 System.arraycopy 方法具有 5 个参数,含义分别为:

    练习
    src 数组中前 3 个元素,复制到 dest 数组的前 3 个位置上复制元素前: src 数组元素 [1,2,3,4,5] dest
    数组元素
    [6,7,8,9,10] 复制元素后: src 数组元素 [1,2,3,4,5] dest 数组元素 [1,2,3,9,10]

     

  • 相关阅读:
    最大值和最小值之差达标的子数组数量
    【JavaWeb】案例二:一次性验证码的校验
    javaEE -9(7000字详解TCP/IP协议)
    QUIC协议科普导入(一)
    漫谈:C C++ 嵌套包含与前置声明
    prometheus告警流程及相关时间参数说明
    Photoshop图层混合模式公式(Unity,CG实现)
    python经典百题之皮球掉落
    计算机毕业设计(附源码)python在线付费课程学习平台
    【项目】手把手带你用 SpringBoot、Uniapp、MySql 开发一个简单的活动报名项目
  • 原文地址:https://blog.csdn.net/weixin_45481821/article/details/126224143