Date类
java.util.Date 类 表示特定的瞬间,精确到毫秒继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,但是其中有未过时的构造函数可以把毫秒值转成日期对象。Date类中的多数方法已经过时,常用的方法代码如下:
public class TestDate {
public static void main(String[] args) {
Date a=new Date();
System.out.println(a);//当前电脑时刻
Date b=new Date(2000);
System.out.println(b);
//比较两个时间先后
System.out.println(b.getTime());
Date c=new Date();
System.out.println(c.getTime());
System.out.println(c.after(b));//c在b的后面?
Date a1=new Date(2020-1900,4,13);
System.out.println(a1);//此方法已经被废弃,以后遇到时间处理,使用canlendar日期类
}
}
DateFormat类
DateFormat 是日期/时间格式化子类的抽象类,通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。
相关的格式规则:
相关代码及用法:
import java.text.*;
import java.util.Date;
public class Testdateformat {
public static void main(String[] args) {
DateFormat a=new SimpleDateFormat("yyyy-MM-dd hh-mm-ss");//传格式
String s=a.format(new Date(20000));
System.out.println(s);
//把字符串转成相应的时间对象
DateFormat a1=new SimpleDateFormat("yyyy-MM-dd hh-mm-ss");
try {
Date d = a1.parse("1983-05-10 12-45-32");
System.out.println(d);
} catch (ParseException e) {
e.printStackTrace();
}
//测试其他格式字符
//利用D,获得本时间对象是所处年份的第几天
DateFormat a2=new SimpleDateFormat("D");
Date d1 = null;
try {
d1 = a2.parse("1983-05-10 12-45-32");
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(d1);
}
}
Calendar类
Calendar 是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。日历类就是方便获取各个时间属性的。
Calendar为抽象类,Calendar类在创建对象时并非直接创建,而是通过静态方法创建,返回子类对象。
相关用法代码:
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
//测试日期类的使用
public class Testc {
public static void main(String[] args) {
Calendar c=new GregorianCalendar(2990,10,9,21,11,54);
int year=c.get(c.YEAR);
int m=c.get(c.MONTH);
int day=c.get(c.DATE);
int w=c.get(Calendar.DAY_OF_WEEK);
System.out.println(year);
System.out.println(c);
System.out.println(m);
System.out.println(w);
System.out.println(day);
//设置日期
Calendar c1=new GregorianCalendar();
c1.set(Calendar.YEAR,2020);
System.out.println(c1);
//日期计算
Calendar c2=new GregorianCalendar();
c2.add(Calendar.DATE,120);
System.out.println(c2);
//日期对象和时间对象的转换
Date d1=c2.getTime();
Calendar c3=new GregorianCalendar();
c3.setTime(new Date());
pc(c3);
}
public static void pc(Calendar c){
//打印:2019年10月10日
int year=c.get(Calendar.YEAR);
int month=c.get(Calendar.MONTH)+1;
int date=c.get(Calendar.DAY_OF_MONTH);
int dayw=c.get(Calendar.DAY_OF_WEEK);
String dayw1=dayw==0?"日":dayw+"";
System.out.println(year+"年"+month+"月"+date+"日");
}
}