Java中Date类和Calendar类的使用
java.util 包中由许多常用的类组成,其中主要是用于处理一组对象的集合类。例如ArrayList和HashMap类;它还包含用于处理日期和时间的类,例如Date类和Calendar类;下面将介绍Date类和Calendar类。
1、Date类
Date类对象表示当前日期和时间,并提供操纵日期和时间各组成部分的方法。必须将Date对象转换为字符串,才能将其输出。
Date类的构造方法:
构造方法 | 说明 |
---|---|
Date() | 使用当天日期创建日期对象。 |
Date(long date) | 使用自1970年1月1日以后的指定毫秒数创建日期对象。 |
Date(int year, int month, int date) | 已过时。 从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date) 或 GregorianCalendar(year + 1900, month, date) 取代。 |
Date(int year, int month, int date, int hrs, int min) | 已过时。 从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date, hrs, min) 或 GregorianCalendar(year + 1900, month, date, hrs, min) 取代。 |
Date(int year, int month, int date, int hrs, int min, int sec) | 已过时。 从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date, hrs, min, sec) 或 GregorianCalendar(year + 1900, month, date, hrs, min, sec) 取代。 |
Date(String s) | 已过时。 从 JDK 1.1 开始,由 DateFormat.parse(String s) 取代。 |
Date类的常用方法:
方法 | 说明 |
---|---|
boolean after(Date when) | 如果日期在指定日期之后,返回 true。 |
boolean before(Date when) | 如果日期在指定日期之前,返回 true。 |
boolean equals(Object obj) | 如果两个日期相同,返回 true。 |
String toString() | 返回日期的格式化字符串,包括星期几;形式的: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。 |
long getTime() | 返回自1970年1月1日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。 |
void setTime(long time) | 设置日期对象,以表示自1970年1月1日起的指定毫秒数。 |
int hashCode() | 返回此对象的哈希码值。 |
int getDate() | 已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.DAY_OF_MONTH) 取代。 |
int getDay() | 已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.DAY_OF_WEEK) 取代。 |
int getHours() | 已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.HOUR_OF_DAY) 取代。 |
int getMinutes() | 已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.MINUTE) 取代。 |
int getMonth() | 已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.MONTH) 取代。 |
int getSeconds() | 已过时。从 JDK 1.1 开始,由 Calendar.get(Calendar.SECOND) 取代。 |
int getTimezoneOffset() | 已过时。从 JDK 1.1 开始,由 -(Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000) 取代。 |
int getYear() | 已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.YEAR) - 1900 取代。 |
int getTimezoneOffset() | 已过时。 从 JDK 1.1 开始,由 -(Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000) 取代。 |
int getYear() | 已过时。从 JDK 1.1 开始,由 Calendar.get(Calendar.YEAR) - 1900 取代。 |
static long parse(String s) | 已过时。 从 JDK 1.1 开始,由 DateFormat.parse(String s) 取代。 |
void setDate(int date) | 已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.DAY_OF_MONTH, int date) 取代。 |
void setHours(int hours) | 已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.HOUR_OF_DAY, int hours) 取代。 |
void setMinutes(int minutes) | 已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.MINUTE, int minutes) 取代。 |
void setMonth(int month) | 已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.MONTH, int month) 取代。 |
void setSeconds(int seconds) | 已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.SECOND, int seconds) 取代。 |
void setYear(int year) | 已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.YEAR, year + 1900) 取代。 |
String toGMTString() | 已过时。 从 JDK 1.1 开始,由 DateFormat.format(Date date) 取代,使用 GMT TimeZone。 |
String toLocaleString() | 已过时。 从 JDK 1.1 开始,由 DateFormat.format(Date date) 取代。 |
static long UTC(int year, int month, int date, int hrs, int min, int sec) |
已过时。 从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date, hrs, min, sec) 或 GregorianCalendar(year + 1900, month, date, hrs, min, sec) 取代,使用 UTC TimeZone,后跟 Calendar.getTime().getTime()。 |
示例:使用Date类显示当前日期和时间。
import java.text.SimpleDateFormat;
import java.util.Date;/*** Date类的使用示例* * @author pan_junbiao**/
public class dateTest
{public static void main(String[] args){// 创建Date类对象Date date = new Date();// 设置日期格式SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 显示日期和时间System.out.println("您好,欢迎访问 pan_junbiao的博客");System.out.println("现在的时间:" + df.format(date));}
}
简单的写法:
java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 设置日期格式
System.out.println(df.format(new java.util.Date()));// new Date()为获取当前系统时间
执行结果:
方法说明:
java.text.SimpleDateFormat: 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
日期和时间模式(注意大小写,代表的含义是不同的):
模式 | 说明 |
---|---|
yyyy | 年 |
MM | 月 |
dd | 日 |
hh | 1~12小时制(1-12) |
HH | 24小时制(0-23) |
mm | 分 |
ss | 秒 |
S | 毫秒 |
E | 星期几 |
D | 一年中的第几天 |
F | 一月中的第几个星期(会把这个月总共过的天数除以7) |
w | 一年中的第几个星期 |
W | 一月中的第几星期(会根据实际情况来算) |
a | 上下午标识 |
k | 和HH差不多,表示一天24小时制(1-24)。 |
K | 和hh差不多,表示一天12小时制(0-11)。 |
z | 表示时区 |
2、Calendar类
根据给定的Date对象,Calendar类可以以整数(如:YEAR、MONTH和DATE)的形式检索信息。它是抽象类,因此无法像Date类一样实例化。
Calendar对象提供为特定语言或日历样式实现日期格式化所需的所有时间字段值。
提示:GregorianCalendar 是 Calendar的子类,它实现罗马形式的日历。
Calendar类的常用方法:
方法 | 说明 |
---|---|
void add(int field, int amount) | 将 amount 添加到 field 指定的时间或日期部分。 |
int get(int field) | 返回调用对象中 field 指定部分的值。例如,各部分可以具有的值包括:Calendar.YEAR、Calendar.MONTH 和 Calendar.DATE 等。 |
Calendar getInstance() |
返回默认地区和时区的 Calendar 对象。 |
Date getTime() | 返回与调用对象具有相同时间的 Date 对象。 |
set(int field, int value) | 将在 value 中指定的值设置为调用对象的 field 所指定的时间或日期部分。field 中的值为 Calendar 定义的字段之一,如:Calendar.YEAR、Calendar.MONTH 等。 |
boolean after(Object when) | 如果 Calendar 实例的当前时间在 Calendar 对象 when 之后,则返回 true。 |
boolean before(Object when) | 如果 Calendar 实例的当前时间在 Calendar 对象 when 之前,则返回 true。 |
void clear() | 清除当前 Calendar 实例中的所有时间组成部分。 |
Object clone() | 返回调用对象的副本。 |
boolean equals(Object obj) | 如果当前日历实例表示的 Calendar 实例与对象 obj 相同,则返回 true。 |
示例:Calendar类的使用。
import java.util.Calendar;
import java.util.Date;/*** Calendar类的使用示例* * @author pan_junbiao**/
public class calendarTest
{public static void main(String[] args){// 创建Calendar类对象Calendar objCalendar = Calendar.getInstance();// 显示日期和时间的各个组成部分System.out.println("显示日期和时间的各个组成部分:");System.out.println("年:" + objCalendar.get(Calendar.YEAR));System.out.println("月:" + objCalendar.get(Calendar.MONTH));System.out.println("日:" + objCalendar.get(Calendar.DATE));System.out.println("小时:" + objCalendar.get(Calendar.HOUR));System.out.println("分钟:" + objCalendar.get(Calendar.MINUTE));System.out.println("秒:" + objCalendar.get(Calendar.SECOND));// 当前时间添加30分钟,然后显示日期和时间objCalendar.add(Calendar.MINUTE, 30);Date objDate = objCalendar.getTime();System.out.println("\n当前时间添加30分钟后的日期和时间:");System.out.println(objDate);}
}
执行结果:
Java中Date类和Calendar类的使用相关推荐
- 【Java】Date类和Calendar类必知必会
Date类简介 Date 类: java.util.Date Date 类表示指定的时间信息,可以精确到毫秒 不支持国际化 该类的许多方法已过时 获取当前系统时间: new Date(); 其实这个构 ...
- Java中Date和Calender类的使用方法
查看文章 Java中Date和Calender类的使用方法 2009-10-04 20:49 Date和Calendar是Java类库里提供对时间进行处理的类,由于日期在商业逻辑的应用中占据着 ...
- JAVA基础再回首(十三)——BigInteger类、BigDecimal类、Date类、DateFormat类、Calendar类
JAVA基础再回首(十三)--BigInteger类.BigDecimal类.Date类.DateFormat类.Calendar类 版权声明:转载必须注明本文转自程序员杜鹏程的博客:http://b ...
- Java 中Date类getTime()的方法
Java 中Date类getTime()的方法 1.getTime() /**Returns the number of milliseconds since January 1, 1970, 00: ...
- Java之Date类和Calendar类的区别
Date类:对于处理日期.时间,Java提供了Date类,此处的Date是指java.util包下的Date类:Date对象既包含日期,也包含时间.Date类从JDK1.0起就已经存在,经过不停的迭代 ...
- 正则表达式、常用类(Pattern类、Matcher类、Math类、System类、Random类、BigDecimal类、Date类、SimpleDateFormat类、Calendar类)
JAVA学习第十六天-正则表达式.常用类(Pattern类.Matcher类.Math类.System类.Random类.BigDecimal类.Date类.SimpleDateFormat类.Cal ...
- java中常用的日期工具类
java中常用的日期工具类 日期相关的类: package net.yto.ofclacct.core.util;import java.text.ParseException; import jav ...
- 学习-Java常用类之Calendar类
第1关:学习-Java常用类之Calendar类 任务描述 本关任务:获取给定年月的最后一天. 相关知识 我们通过之前的学习已经能够格式化并创建一个日期对象了,但是我们如何才能设置和获取日期数据的特定 ...
- java中常用的包、类、以及包中常用的类、方法、属性----sql和text\swing
java中常用的包.类.以及包中常用的类.方法.属性 常用的包 java.io.*; java.util.*; java.lang.*; java.sql.*; java.text.*; java.a ...
最新文章
- R语言as.double函数(转化为浮点型)和is.double函数(检验是否为浮点型)实战
- 小心愿 要有真我新格调
- Opengl-立方体贴图(天空盒子)
- Android6.0执行时权限解析,RxPermissions的使用,自己封装一套权限框架
- 安装RRDtool 1.4.5
- 使用SVCUtil.exe生成客户端代理类和配置文件
- 51nod 3 * problem
- Java时间对比------实际时间和设置时间对比
- httpd是mysql_在Centos下安装httpd、php、Mysql并配置(转载)
- java sl4j 日志_Java日志框架Slf4j+Log4j入门
- Char RNN原理介绍以及文本生成实践
- mysql国内源码安装,mysql 源码包安装
- 继续逼近FLASH效果
- EasyExcel 固定(冻结)单元格
- Compilation failure:错误: 找不到符号
- 微信小程序云开发 操作数据库-简单数据的查询
- JavaScript 访问 JSF 组件
- STC51单片机串口波特率设置之BRT设置
- 黑窗口下安装MySQL数据库
- FFmpeg[18] - mac解决yasm/nasm not found or too old. Use --disable-yasm for a crippled build.