Java.util 包(Date 类、Calendar类、Random类)
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));
> }
>}
>```
>运行结果:
>
>时间模式字符串用来指定时间格式。在此模式中,所有的 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 开头并且以下面表格中的一个字母结尾。
>
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 种子创建一个新的随机数生成器 |
参考资料
- 实验楼:JDK 核心 API
- 菜鸟教程:Java 日期时间
Java.util 包(Date 类、Calendar类、Random类)的更多相关文章
- 集合框架的类和接口均在java.util包中。 任何对象加入集合类后,自动转变为Object类型,所以在取出的时候,需要进行强制类型转换。
集合框架的类和接口均在java.util包中. 任何对象加入集合类后,自动转变为Object类型,所以在取出的时候,需要进行强制类型转换.
- List,Set,Map在java.util包下都是接口 List有两个实现类:ArrayList和LinkedList Set有两个实现类:HashSet和LinkedHashSet AbstractSet实现了Set
List,Set,Map在java.util包下都是接口 List有两个实现类:ArrayList和LinkedListSet有两个实现类:HashSet和LinkedHashSetAbstractS ...
- java util包概述
util是utiliy的缩写,意为多用途的,工具性质的包这个包中主要存放了:集合类(如ArrayList,HashMap等),随机数产生类,属性文件读取类,定时器类等类.这些类极大方便了Java编程, ...
- java.util包简介
java.util包含集合框架.遗留的 collection 类.事件模型.日期和时间设施.国际化和各种实用工具类(字符串标记生成器.随机数生成器和位数组.日期Date类.堆栈Stack类.向量Vec ...
- java.util包详解
介绍Java的实用工具类库java.util包.在这个包中,Java提供了一些实用的方法和数据结构.本章介绍Java的实用工具类库java.util包.在这个包中,Java提供了一些实用的方法和数据结 ...
- JDK_API剖析之java.util包
Java的实用工具类库java.util包.在这个包中,Java提供了一些实用的方法和数据结构. 一.接口 1.Collection<E> 接口 自1.2开始有 继承Iterable< ...
- Java.util包简单总结
Java.util包简单总结 1. util包的框架 常用的集合类主要实现两个“super接口”而来:Collection和Map. 1.1 Collection有两个子接口:List和Set è¿é ...
- java zip 批量打包(java.util包和apache.tools包)
/** * 文件批量打包 * @param zipPath 打包路径 * @param files 批量文件 */ public void zipOut(String zipPath,File[] f ...
- 高并发分布式系统中生成全局唯一(订单号)Id js返回上一页并刷新、返回上一页、自动刷新页面 父页面操作嵌套iframe子页面的HTML标签元素 .net判断System.Data.DataRow中是否包含某列 .Net使用system.Security.Cryptography.RNGCryptoServiceProvider类与System.Random类生成随机数
高并发分布式系统中生成全局唯一(订单号)Id 1.GUID数据因毫无规律可言造成索引效率低下,影响了系统的性能,那么通过组合的方式,保留GUID的10个字节,用另6个字节表示GUID生成的时间(D ...
随机推荐
- jQuery插件开发之boxScroll与marquee
BoxScroll 常见图片轮播效果的简单实现.可以数字列表控制或者左右按键控制.逻辑很简单,下面的Marquee形成环,这个到了尽头得往回跑,看看注释就知道了. 图片轮播GitHub:https:/ ...
- R语言列表list函数
列表是R语言中的对象,它包含不同类型的元素,比如 - 数字,字符串,向量和另一个列表等.一个列表还可以包含一个矩阵或一个函数作为它的元素.使用list()函数创建列表. 创建一个列表 下面是一个例子来 ...
- [PY3]——字符串的分割、匹配、搜索方法总结
?分割.匹配.搜索时可以用到什么样的解决方法? 分割方法总结 1. str.split( ) * 分割字符串 * 返回列表 s1='I love python' # 默认以空格为界定符,且多个空格都当 ...
- Java工具:native2ascii ---得到中文对应的ASCII编码
如国际化中,要得到“提交”对应的ASCII编码:
- Netty(1):第一个netty程序
为什么选择Netty netty是业界最流行的NIO框架之一,它的健壮型,功能,性能,可定制性和可扩展性都是首屈一指的,Hadoop的RPC框架Avro就使用了netty作为底层的通信框架,此外net ...
- 解决angular-deckgrid高度不均衡和重加载的问题
在项目中使用angular-deckgrid+ng-infinite-scroll实现瀑布流的无限加载.但是实际测试中发现deckgrid有2个比较严重影响体验的BUG: 每次添加新的card,整个d ...
- 页面滚动条&按键执行事件
判断页面滚动条 $(window).bind('scroll', function () { //算出鼠标移动到顶部的高度. var scrollt = document.documentElemen ...
- ASP.NET MVC与ASP.NET WebForm
ASP.NET MVC是微软公司的一款WEB开发框架,整合了“模型-视图-控制器”架构的高效与整洁,是敏捷开发最现代的思想与技术.它是传统ASP.NET WebForm的一个完善的替代品. 1.当今的 ...
- 简易搭建git仓库、关联远程和本地仓库方法。克隆仓库方法。同一台电脑上创建两个git ssh key方法。
一,在github上建仓库 react-js-antd-demo: 二:将远程仓库与本地仓库关联 git remote add origin git@github.com:begin256/react ...
- bootstrap学习笔记细化(按钮)
button:btn 圆角灰色按钮 button:btn btn-default 圆角灰色边框按钮 button:btn btn-success 绿色 button:btn btn-primary 蓝 ...
