java---Calendar与Date

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);
}

}

上一篇:python之算法


下一篇:Java Calendar详解