1,Calendar
Calendar 比Date更加的灵活,但是复杂度也高了
(1):建议Date能完成工作,就不建议使用Calendar。
Calendar 是一个抽象类,不能实例化
Calendar.getInstance():返回的是子类的实例
(2):成员方法
<1>:Date getTime() :返回一个Date 类型的系统时间
<2>:public int get(int field): 根据 指定的时间的某一个部分,来返回具体的系统时间
<3>:public void add(int field,int amount): 为给定的日历字段添加或减去指定的时间量
<4>:public final void set(int year,int month,int date):设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值
<5>:public long getTimeInMillis():返回当前时间的毫秒表示形式
实例:
import java.util.Calendar;
import java.util.Date;
public class CalendarDemo {
public static void main(String[] args) {
//父类引用指向了子类对象
Calendar cal = Calendar.getInstance();
// 我们通过Calendar 到底能够得到什么呢?
Date date = cal.getTime();
System.out.println(date);
// System.out.println(DateUtil.dateToString(date));
System.out.println("=============");
System.out.println(cal.get(cal.YEAR));
// 月份应该 +1
System.out.println(cal.get(cal.MONTH)+1);
System.out.println(cal.get(cal.DAY_OF_MONTH));
System.out.println(cal.get(cal.HOUR_OF_DAY));
System.out.println(cal.get(cal.MINUTE));
System.out.println(cal.get(cal.SECOND));
System.out.println(cal.get(cal.MILLISECOND));
System.out.println("================");
// 使用Calendar 可以很方便的 计算 某一天
//倒退20天
cal.add(cal.DAY_OF_MONTH, -20);
System.out.println(cal.getTime());
// 设置日历的 年,月,日
cal.clear();// 清除剩余的部分
cal.set(1995, 1,20);
System.out.println(cal.getTime());
System.out.println(cal.getTimeInMillis());
}
}
2,Data
表示系统的时间,精确到毫米。
有两种
java.util.Date;
java.sql.Date; 后面jdbc中会涉及到,表示数据库中的时间
构造方法:
Date();
Date(long date);
实例:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
Date date = new Date();
// 表示当前的系统时间
System.out.println(date);
//@Deprecated
System.out.println(date.toLocaleString());
// 以后工作中的形式,将系统的时间,格式化工作,有另外一个类完成SimpleDateFormat
/**
* yyyy:年
* MM: 月份
* dd:日期
* HH: 小时 24进制
* mm: 分钟
* ss:秒
* SSS: 毫秒
*/
String pattern = "yyyy-MM-dd-HH-mm-ss-SSS";
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
// 将当前时间的对象,格式化为字符串的表示形式输出
String strDate = sdf.format(date);
System.out.println("当前的时间:"+strDate);
System.out.println("================");
//有参构造
long dd1 = System.currentTimeMillis();
Date d1 = new Date(dd1);
System.out.println(d1);
System.out.println(d1.getTime());
System.out.println(System.currentTimeMillis());
//SimpleDateFormat的
//parse()方法: 将字符串,转为Date类型
//format()方法:将Date类型转化为字符串 ;他俩逆过程。
System.out.println("==============");
Date parse=null;
try {
parse = sdf.parse(strDate);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(parse);
}
}