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

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

util

Date 类

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

  • 构造方法:程序员

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

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

  • 日期格式化

    • SimpleDateFormat数据结构

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

      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)); } }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
      h A.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
      a A.M./P.M.标记 PM
      k 一天中的小时(1-24) 24
      K A.M./P.M.(0-11)格式小时 10
      z 时区 Eastern Standard Time

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

    • printfpost

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

Calendar 类

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

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

    • 1表明星期日、2表明星期一、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