日期类
public class Date
extends Object
implements Serializable, Cloneable, Comparable<Date>
时间原点 到当前系统时间的毫秒值 System.currentTimeMillis() 可以获得毫秒值
无参构造
Date date=new Date();
System.out.println(date);
打印当前系统时间
有参构造
Date(long date)
将毫秒值转为日期格式
注意:由于时间原点在1970 0):00:00
如果我们在构造方法里面传入 0L
那么我们的时间应该是时间原点,但,不是,由于我们中国在东八区
所以打印输出的时间是 Thu Jan 01 08:00:00 CST 1970
成员方法
public long getTime() 返回自1970年1月1日到当前系统的毫秒值
和 System.currentTimeMillis() 一样的作用
Dateformat
public abstract class DateFormat
extends Format
它是一个抽象类,不能创建对象
简单了解一下format,是Dateformat的父类,也是抽象类
他有三个子类
DateForme 时间格式化
MessageFormat 信息格式化
NumberFormat 数字格式化
介绍DateFormat
DateFormat是日期/时间格式化子类的抽象类,它以语言无关的方式格式化和分析日期或
时间
日期/时间格式化子类(如SimpleDateFormat )允许格式化(即日期文本),解析(文本
日期)
主要功能
日期/时间格式化子类(如SimpleDateFormat )允许格式化(即日期文本),解析(文本
日期)
成员方法
public final String format(Date date) 将日期格式化成日期/时间字符串。
public Date parse(String source)throws ParseException
从给定字符串的开始解析文本以生成日期。 该方法可能不会使用给定字符串的整个文
本。
使用
由于不能直接创建对象,使用其子类
public class SimpleDateFormat
构造方法
public SimpleDateFormat(String pattern)
使用给定模式SimpleDateFormat并使用默认的FORMAT语言环境的默认日期格式符号
模式 区分大小写
y 年
M 月
d 日
H 时
m 分
s 秒
格式化
Date date=new Date(); 注意:模式的字母不能改,但连接符号可以改
DateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:SS");
String str1=simpleDateFormat.format(date);
System.out.println(str1); 使用了格式化类的
System.out.println(date); 没有格式化的
解析
Date d=simpleDateFormat.parse("2019-12-30 12:45:55");
注意,模式,上面我们设置的模式是怎么样的,这里的字符就要以什么样的格式
如果修改了,则会抛ParseException异常
日历类
public abstract class Calendar 是个抽象类 但他有一个子类 GregorianCalendar
在Date后出现的,替换了很多Date的方法
可以不直接创建子类对象
因为父类抽象类里提供了一个方法
Calendar rightNow = Calendar.getInstance(); ,该方法可以直接获取Calendar 对象
常用方法
public int get(int field):返回给定日历字段的值
public void set(int field,int value):将给定的日历字段设置为给定值
public abstract void add(int field,int amount):根据日历的规则,为给定的日历字段添加或减去指定
的时间量
public Date getTime()返回一个表示calendar时间值的Date对象
字段值
YEAR 年
MONTH 月 从0开始
DAY_OF_MONTH (DATE) 日
System.out.println(calendar.get(calendar.DATE));
System.out.println(calendar.get(calendar.DAY_OF_MONTH));
System.out.println(calendar.get(calendar.YEAR));
System.out.println(calendar.get(calendar.MONTH));
可以通过set方法来设置
将给定的日历字段设置为给定值
public void set(int field,int value)
如 calendar.set(calendar.YEAR,2019) //给年设置值
还可以同时设置年月日 set方法是重载的
public abstract void add(int field,int amount)
field是字段值,amount只是你增加或是减少的值,如 3,-3
public final Date getTime()
返回一个表示此 Calendar 时间值(从历元至现在的毫秒偏移量)的 Date 对象。
将日历对象转换为日期对象