Java.util 包(Date 类、Calendar类、Random类)

java.util 包提供了一些实用的方法和数据结构。

util

Date 类

Date 类表示日期和时间,里面封装了操作日期和时间的方法。Date 类经常用来获取系统当前时间。

  • 构造方法:

    构造方法说明
    Date()构造一个 Date 对象并对其进行初始化以反映当前时间
    Date(long date)构造一个 Date 对象,并根据相对于 GMT 1970年1月1日00:00:00的毫秒数对其进行初始化
  • 常用方法:

    • toString(),返回字符串,表示当前日期和时间。
    • getTime(),返回long类型,表示自1970年1月1日经历的毫秒数值。

  • 日期格式化

    • SimpleDateFormat

      SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的。SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行。例如:

      import java.util.*;
      import java.text.*;
      
      public class DateDemo {
        public static void main(String[] args) {
      
            Date dNow = new Date( );
            SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
      
            System.out.println("Current Date: " + ft.format(dNow));
        }
      }

      运行结果:
      886021-20170729200610582-1305283977.png
      时间模式字符串用来指定时间格式。在此模式中,所有的 ASCII 字母被保留为模式字母,定义如下:

      字母描述示例
      G纪元标记AD
      y四位年份2001
      M月份July or 07
      d一个月的日期10
      hA.M./P.M.(1-12)格式小时12
      H一天中的小时(0-23)22
      m分钟数30
      s秒数55
      S毫秒数234
      E星期几Tuesday
      D一年中的日子360
      F一个月中第几周的周几2(second Wed. in July)
      w一年中第几周40
      W一个月中第几周1
      aA.M./P.M.标记PM
      k一天中的小时(1-24)24
      KA.M./P.M.(0-11)格式小时10
      z时区Eastern Standard Time

      对于时间模式字符串中的普通字符,必须要用单引号字符括起。

    • printf

      printf 方法可以很轻松地格式化时间和日期。使用两个字母格式,它以 %t 开头并且以下面表格中的一个字母结尾。
      886021-20170730144316505-2080974418.png

Calendar 类

Calendar 类是一个抽象类,在实际使用时实现特定的子类的对象,创建对象的过程对程序员来说是透明的,只需要使用getInstance方法创建即可。getInstance()方法返回一个默认用当前的语言环境和时区初始化的GregorianCalendar对象。Calendar类实现了公历日历,GregorianCalendar是Calendar类的一个具体实现。

  • Calendar类对象状态:
    886021-20170730150901412-1555517263.png

    • 1代表星期日、2代表星期1、3代表星期二,以此类推。此外MONTH为0代表1月。

    • 可以用.set(年, 月-1, 日)或.set(Calendar.DATE,10)设置对象信息。类似的还有方法.add(Calendar.DATE, 10),其它所有数值会被重新计算。此外可以用.get(Calendar.DAY_OF_WEEK)获取对象信息。


  • GregorianCalendar 类的构造函数:

    构造方法说明
    GregorianCalendar()创建的对象中的相关值被设置成指定时区,缺省地点的当前时间,即程序运行时所处的时区、地点的当前时间
    GregorianCalendar(TimeZone zone)创建的对象中的相关值被设置成指定时区 zone,缺省地点的当前时间
    GregorianCalendar(Locale aLocale)创建的对象中的相关值被设置成缺省时区,指定地点 aLocale 的当前时间
    GregorianCalendar(TimeZone zone, Locale aLocale)year - 创建的对象中的相关值被设置成指定时区,指定地点的当前时间
    • TimeZone 是 java.util 包中的一个类,其中封装了有关时区的信息。每一个时区对应一组 ID。类 TimeZone 提供了一些方法完成时区与对应 ID 两者之间的转换。

    • Locale 只是一种机制,它用来标识一个特定的地理、政治或文化区域获取一个 Locale 对象的构造方法。

Random 类

Java 实用工具类库中的类 java.util.Random 提供了产生各种类型随机数的方法,而java.lang.Math 中的方法 Random() 只产生0-1之间 double 型的随机数。

  • 构造方法:

    构造方法说明
    Random()产生一个随机数需要基值,这里将系统时间作为 seed
    Random(long seed)使用单个 long 种子创建一个新的随机数生成器

参考资料

转载于:https://www.cnblogs.com/mingyueanyao/p/7256072.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值