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

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

参考资料

Java.util 包(Date 类、Calendar类、Random类)的更多相关文章

  1. 集合框架的类和接口均在java.util包中。 任何对象加入集合类后,自动转变为Object类型,所以在取出的时候,需要进行强制类型转换。

    集合框架的类和接口均在java.util包中. 任何对象加入集合类后,自动转变为Object类型,所以在取出的时候,需要进行强制类型转换.

  2. List,Set,Map在java.util包下都是接口 List有两个实现类:ArrayList和LinkedList Set有两个实现类:HashSet和LinkedHashSet AbstractSet实现了Set

    List,Set,Map在java.util包下都是接口 List有两个实现类:ArrayList和LinkedListSet有两个实现类:HashSet和LinkedHashSetAbstractS ...

  3. java util包概述

    util是utiliy的缩写,意为多用途的,工具性质的包这个包中主要存放了:集合类(如ArrayList,HashMap等),随机数产生类,属性文件读取类,定时器类等类.这些类极大方便了Java编程, ...

  4. java.util包简介

    java.util包含集合框架.遗留的 collection 类.事件模型.日期和时间设施.国际化和各种实用工具类(字符串标记生成器.随机数生成器和位数组.日期Date类.堆栈Stack类.向量Vec ...

  5. java.util包详解

    介绍Java的实用工具类库java.util包.在这个包中,Java提供了一些实用的方法和数据结构.本章介绍Java的实用工具类库java.util包.在这个包中,Java提供了一些实用的方法和数据结 ...

  6. JDK_API剖析之java.util包

    Java的实用工具类库java.util包.在这个包中,Java提供了一些实用的方法和数据结构. 一.接口 1.Collection<E> 接口 自1.2开始有 继承Iterable< ...

  7. Java.util包简单总结

    Java.util包简单总结 1. util包的框架 常用的集合类主要实现两个“super接口”而来:Collection和Map. 1.1 Collection有两个子接口:List和Set è¿é ...

  8. java zip 批量打包(java.util包和apache.tools包)

    /** * 文件批量打包 * @param zipPath 打包路径 * @param files 批量文件 */ public void zipOut(String zipPath,File[] f ...

  9. 高并发分布式系统中生成全局唯一(订单号)Id js返回上一页并刷新、返回上一页、自动刷新页面 父页面操作嵌套iframe子页面的HTML标签元素 .net判断System.Data.DataRow中是否包含某列 .Net使用system.Security.Cryptography.RNGCryptoServiceProvider类与System.Random类生成随机数

    高并发分布式系统中生成全局唯一(订单号)Id   1.GUID数据因毫无规律可言造成索引效率低下,影响了系统的性能,那么通过组合的方式,保留GUID的10个字节,用另6个字节表示GUID生成的时间(D ...

随机推荐

  1. Field [_id] is a metadata field and cannot be added inside a document. Use the index API request parameters--转

    https://github.com/elasticquent/Elasticquent/issues/53 the data is coming from a Mongo DB instance. ...

  2. nodejs学习笔记三(用户注册、登录)

    1.定接口      /user 接口               输入    act=reg&user=aaa&pass=123456               输出     {& ...

  3. [转]How to add a script in a partial view in MVC4?

    本文转自:https://stackoverflow.com/questions/14114084/how-to-add-a-script-in-a-partial-view-in-mvc4 问题: ...

  4. <input>属性为number,maxlength不起作用的解决方案

    <input type="text" maxlength="11" /> 效果ok, 当 <input type="number&q ...

  5. Spark Pregel参数说明

    Pregel是个强大的基于图的迭代算法,也是Spark中的一个迭代应用aggregateMessage的典型案例,用它可以在图中方便的迭代计算,如最短路径.关键路径.n度关系等.然而对于之前对图计算接 ...

  6. 关于java异常try catch finally的一道题

    这两天,有人咨询我一道关于java基础的题,具体代码如下: private static int m1() { int a = 10; try { a = 20; throw new RuntimeE ...

  7. R 语言贷款月供数据分析

    #================================================================ #--------------------------------- ...

  8. poj Strange Way to Express Integers 中国剩余定理

    Strange Way to Express Integers Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 8193   ...

  9. PoPo数据可视化周刊第5期

    PoPo数据可视化 聚焦于Web数据可视化与可视化交互领域,发现可视化领域有意思的内容.不想错过可视化领域的精彩内容, 就快快关注我们吧 :) World Wire 数据可视化演示(视频) IBM公司 ...

  10. Designers, please follow the guidelines

    Skype released big update for its iOS application last week. It brought in a major overhaul of not o ...