日期类
java.util.Date类
public class Date extends Object implements Serializable, Cloneable, Comparable<Date>
类 Date
表示特定的瞬间,精确到毫秒
使用 Calendar
类实现日期和时间字段之间转换,使用 DateFormat
类来格式化和解析日期字符串
- 年份 y 由整数 y
- 1900
表示。 - 月份由从 0 至 11 的整数表示;0 是一月、1 是二月等等;因此 11 是十二月。
- 日期(一月中的某天)按通常方式由整数 1 至 31 表示。
- 小时由从 0 至 23 的整数表示。因此,从午夜到 1 a.m. 的时间是 0 点,从中午到 1 p.m. 的时间是 12 点。
- 分钟按通常方式由 0 至 59 的整数表示。
- 秒由 0 至 61 的整数表示;
方法:
boolean after(Date when) ----测试此日期是否在指定日期之后
boolean before(Date when) ---测试此日期是否在指定日期之前
Object clone() ---------------------返回此对象的副本
int compareTo(Date anotherDate)---比较两个日期的顺序(0:相等,小于0:在参数之前,大于0:在参数之后)
boolean equals(Object obj)-----比较两个日期的相等性(非null,精确到毫秒)
public String toString()----返回(星期 +月 +号 +时 +分 +秒 +时区 +年)
java.util.Calendar类
public abstract class Calendar extends Object implements Serializable, Cloneable, Comparable<Calendar>
方法:
获取实例
static Calendar getInstance()-----使用默认时区和语言环境获得一个日历
static Calendar getInstance(TimeZone zone) ---使用指定时区和默认语言环境获得一个日历
static Calendar getInstance(TimeZone zone, Locale aLocale) ---使用指定时区和语言环境获得一个日历
boolean after(Object when)---判断此 Calendar
表示的时间是否在指定 Object
表示的时间之后
boolean before(Object when)---
void clear()---将此 Calendar
的所日历字段值和时间值(从历元至现在的毫秒偏移量)设置成未定义
void clear(int field)---
Object clone() ----创建并返回此对象的一个副本
int compareTo(Calendar anotherCalendar)---比较两个 Calendar
对象表示的时间值
boolean equals(Object obj)---将此 Calendar
与指定 Object
比较
int get(int field) ---返回给定日历字段的值
int getFirstDayOfWeek()---获取一星期的第一天
TimeZone getTimeZone() ---获得时区
void setTimeZone(TimeZone value) ---使用给定的时区值来设置时区
Date getTime() ---返回一个表示此 Calendar 时间值(从历元至现在的毫秒偏移量)的 Date 对象
void set(int field, int value) ---将给定的日历字段设置为给定值
void set(int year, int month, int date) ---设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值
void set(int year, int month, int date, int hourOfDay, int minute) ---设置日历字段 YEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY 和 MINUTE 的值
void set(int year, int month, int date, int hourOfDay, int minute, int second) ---设置字段 YEAR、MONTH、DAY_OF_MONTH、HOUR、MINUTE 和 SECOND 的值
void setFirstDayOfWeek(int value) ---设置一星期的第一天是哪一天
void setTime(Date date) ---使用给定的 Date 设置此 Calendar 的时间
String toString() ---返回此日历的字符串表示形式(仅在进行调试的时候使用,不同实现所返回的字符串格式可能有所不同)
日期格式类
DateFormat类
public abstract class DateFormat extends Format 格式化并解析日期或时间
方法:
获取实例
static DateFormat getInstance() ---获取为日期和时间使用 SHORT 风格的默认日期/时间格式器
static DateFormat getDateInstance() ---获取日期格式器,该格式器具有默认语言环境的默认格式化风格
static DateFormat getDateInstance(int style) ---获取日期格式器,该格式器具有默认语言环境的给定格式化风格
static DateFormat getDateInstance(int style, Locale aLocale) ---获取日期格式器,该格式器具有给定语言环境的给定格式化风格
NumberFormat getNumberFormat() ---获取此日期/时间格式器用于格式化和解析时间的数字格式器
应用方法
Object clone() ---重写 Cloneable
boolean equals(Object obj) ---重写 equals
String format(Date date) -----Date ----》字符串
Calendar getCalendar() ---获取与此日期/时间格式器关联的日历
Date parse(String source) ---字符串---》Date
Object parseObject(String source, ParsePosition pos) ---解析字符串中的文本,以生成一个 Date
void setCalendar(Calendar newCalendar) ---设置此日期格式所使用的日历
SimpleDateFormat类
public class SimpleDateFormat extends DateFormat格式化(日期 -> 文本)、解析(文本-> 日期)和标准化
SimpleDateFormat
仍然建议通过 DateFormat
中的 getTimeInstance
、getDateInstance
或 getDateTimeInstance
来创建日期-时间格式器。每一个这样的类方法都能够返回一个以默认格式模式初始化的日期/时间格式器。可以根据需要使用 applyPattern
方法来修改格式模式
方法:
获取实例方法
SimpleDateFormat simpleDateFormat=new SimpleDateFormat();--用默认的模式和默认语言环境的日期格式符号构造 SimpleDateFormat
SimpleDateFormat(String pattern) ---用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat
SimpleDateFormat(String pattern, DateFormatSymbols formatSymbols) ---用给定的模式和日期符号构造 SimpleDateFormat
SimpleDateFormat(String pattern, Locale locale) ---用给定的模式和给定语言环境的默认日期格式符号构造 SimpleDateFormat
public static final DateFormat getDateInstance()--获取日期格式器,该格式器具有默认语言环境的默认格式化风格
public static final DateFormat getDateInstance(int style)---获取日期格式器,该格式器具有默认语言环境的给定格式化风格
应用方法:
void applyLocalizedPattern(String pattern) ---将给定的本地化模式字符串应用于此日期格式
void applyPattern(String pattern) ---将给定模式字符串应用于此日期格式
Object clone() --创建此 SimpleDateFormat 的一个副本
boolean equals(Object obj) --比较给定对象与此 SimpleDateFormat 的相等性
StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition pos) --将给定的 Date 格式化为日期/时间字符串,并将结果添加到给定的 StringBuffer
Date parse(String text, ParsePosition pos) ---解析字符串的文本,生成 Date
void setDateFormatSymbols(DateFormatSymbols newFormatSymbols) ---设置此日期格式的日期和时间格式符号
String toLocalizedPattern() ---返回描述此日期格式的本地化模式字符串
String toPattern() --返回描述此日期格式的模式字符串
继承的应用方法:
String format(Date date)-------------------Date ---〉字符串
public final String format(Object obj)---对象-----〉字符串
public Calendar getCalendar()---获取与此日期/时间格式器关联的日历
public Date parse(String source)---字符串----〉Date该方法不使用给定字符串的整个文本
public Object parseObject(String source,ParsePosition pos)--解析字符串中的文本,以生成一个 Date
public Object parseObject(String source)--从给定字符串的开始处解析文本以生成一个对象。此方法不可以使用给定字符串的全部文本
常用方法:
日期的输入与输出
1) 日期输出的本质是将 Date 转换为格式化的 String ----fmt.format(Date)
2) 日期输入的本质是将格式化的 (合法)String 转换为 Date ----fmt.parse(String)
3) java . text.SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
yyyy-MM-dd HH:mm:ss"
"yyyyMMdd"
"dd/MM/yyyy"
"MM/dd/yyyy"
fmt.parse(String)可以实现将(合法)字符串解析为日期类型