Date类只学习笔记
在标准java类库中包含一个Date类,它的对象表示一个特定的瞬间,精确到了毫秒,它表示的是从:标准纪元1970年1月1日0:00:00开始到某个时刻的毫秒数,类型是long。1970年以前用负数表示。在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。
Date类在包 java.util.Date中,它是Object的子类
它有四个构造函数分别是:
1:无参
Date m=new Date();
public Date() {
this(System.currentTimeMillis());
}
无参时对应的jdk源码可以看出是获取当前系统时间。
2:long类型参数
Date t=new Date(1492696193578L);
public Date(long date) {
fastTime = date;
}
long类型参数是建立一个Date对象。并且根据一个大小为date的毫秒数对其初始化。
3:String类型参数
public Date(String s) {
this (parse(s));
}
已经不推荐使用了,构造一个Date对象,并将其初始化为字符串s所对象的日期和时间。对字符串的解析将和parse(java.lang.String)方法一样,实质就是将字符串转化成Date对象。
4:对应年月日时分秒的参数
public Date(int year , int month , int date)
public Date(int year , int month , int date, int hrs, int min)
public Date(int year , int month , int date, int hrs, int min, int sec)
顾名思义建立一个Date对象,并且分别根据year、month、date(精确到日期),year、month、date、hrs、min、(精确到分钟)和year、month、date、hrs、min、sec(精确到秒)对其初始化。
值得注意的是:这些标准是按照国际标准的,由于我们没有话语权所以得按照别人的习惯来,
这里月份和星期和我们的习惯略有不同。
月份 一月是0 二月是1 ...12月是11
星期 周日是1 周一是2 ...周六是7
下面再来看看Date类当中常用的一些函数:
1:分别设置Date当中的年 月 日 时 分 秒
public void setYear(int year)
public void setMonth(int month)
public void setDay(int day)
public void setHours(int hours)
public void setMinutes(int minutes)
public void setSeconds(int seconds)
也不推荐是使用了,被Calendar类中Calendar.set(Calendar.year,year)这些方法所代替;这些方法分别对应设置年、月、日、时、分、秒。
注意:月份是0~11 ,星期是 周日~周六。
2:在看看获取Date当中的年 月 日 时 分 秒
public int getYear(int year)
public int getMonth(int month)
public int getDay(int day)
public int getHours(int hours)
public int getMinutes(int minutes)
public int getSeconds(int seconds)
也不推荐是使用了,也被Calendar类当中Calendar.get(Calendar.year)这些方法所代替;这些方法分别对应获取年、月、日、时、分、秒。
3: setTime方法:
public void setTime(long time){
fast=time;
cdate=null;
}
设置一个从1970年1月1日0:00:00开始的相对毫秒数的Date对象。
4:getTime方法:
可以看出使用getTime方法是将Date类的对象转化成为相对时间。也就是从1970年1月1日0:00:00开始的相对毫秒数。
5:toSting方法:
public String toString(){
}
把时间对象转化成为 ”EEE MMM DD HH:mm:ss zzz yyyy”;这个格式的字符串,并返回这个字符串。
其中这里面
EEE: 表示的是星期 从sun~sat
MMM: 表示的是月份 从jan~dec
DD: 表示的是日期 从1~
HH、mm、ss、分别表示的是 时、分、秒。
zzz 表示的是时区
Yyyy 表示的是年份