java.util.date包_Java.util 包(Date 类、Calendar类、Random类)

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

10

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 允许你选择任何用户自定义日期时间格式来运行。例如:

>```java

>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));

> }

>}

>```

>运行结果:

>![](http://images2017.cnblogs.com/blog/886021/201707/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 |

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

- **printf**

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

>![](http://images2017.cnblogs.com/blog/886021/201707/886021-20170730144316505-2080974418.png)

Calendar 类

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

Calendar类对象状态:

b0e4fe129cbc9fa2af1b5cc9055aeccd.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 种子创建一个新的随机数生成器 |

参考资料

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值