程序中经常要与时间打交道。JAVA的date类就提供了一些与时间有关的方法。在最基本的java.util.Date之下,有许多拓展,如java.util.Calendar,java.sql.Date,java.text.DateFormat。
时间的相关规定
- 时间一般用一串数字表示,long类型,原点设置为1970-1-1,以毫秒为单位。
举个例子,时间相差一秒,数值相差1000;相差一分钟,数值相差60*1000。 - 1970年以前的时间用负数表示。
- 一月是0,二月是1,依此类推。
- 周日是1,周一是2,依此类推。
常用方法
public class Text1{
public static void main(string[] args){
Date d = new Date();
long t = System.currentTimeMillis();//得到表示当前时间的long类型数据
System.out.println(t);
Date d1 = new Date(1000);
System.out.println(d1);//输出Thu Jan 08:00:01 CST 1970,是08而不是00是和时区有关
}
}
public class Text2{
public static void main(string[] args){
DateFormat df = new SimpleDateFormat("yyyy,MM,dd");//定义了df的格式
Date d1 = new Date(1000);
string s1 = df.format(d);
System.out.println(s1);//结果是1970,1,1
string s2 = "2018,01,01";
Date d2 = df.parse(s2);
string s3 = "2018-01-01";
Date d3 = df.parse(s3);//这里会出错,因为不符合定义的格式
}
}
Calendar类
public class Text2{
public static void main(string[] args){
Canlendar c = new GregorianCanlendar()
c.set(2018,Canlendar.Monday,5,28,1,1);//set()可以赋值
c.set(Canlendar.year,2019);//set()也可以就其中一项进行修改
Date d = c.getTime();//可以通过getTime()给Date赋值
}
}