Java提供了Date类来处理日期、时间(此处的Date是指java.util包下的Date类,而不是java.sql包下的Date类),Date对象既包含日期,也包含时间。Date类从JDK1.0起就开始存在了,因为它历史悠久,所以它的大部分构造器、方法都已经过时,不再推荐使用了。
构造器:
Java.util.Date的构造器还剩下两个构造器,其他都已经过时(@Deprecated注解,表示已经不再推荐使用,使用会有警告,并且可以会导致程序性能或者安全性方面的问题)
方法
Java.util.Date的方法也剩下几个,其他都过时了
SimpleDateFormat 是一个与语言环境有关的方式来格式化和解析日期的具体类。它允许进 行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。使用SimpleDateFormat类可以对 Date 和 String 相互转换。
示例代码:
import java.text.SimpleDateFormat;
import java.util.Date;
public class MathDemo {
public static void main(String[] args) throws Exception {
Date d = new Date();
System.out.println(d);// 获取当前时间
// 格式化
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E");
String s = sd.format(d);// 这个方法继承于SimpleDateFormat的父类DateFormat类!
System.out.println(s);
// 反格式化
d = sd.parse(s);
System.out.println(d);
}
}
结果截图:
二、Calendar类
由于Date类过于古老,许多的构造器和方法都已经过时。Java推荐使用Calendar来完成时间计算等操作。 Calendar类中关于时间的属性:
常用方法如下:
示例代码:
import java.util.Calendar;
import java.util.Date;
public class MathDemo {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
System.out.println("年:" + c.get(Calendar.YEAR));
Date d = c.getTime();
System.out.println(d);
c.set(2019, 7, 15, 12, 24, 55);
d = c.getTime();
System.out.println(d);
c.add(Calendar.DAY_OF_MONTH, 3);//日加上3
d = c.getTime();
System.out.println(d);
}
}
结果截图: