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类的使用分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/12881.html