1、Date类
* Date类:精确到确定的瞬间,精确到毫秒
* 构造方法:* Date() 拿当前的时间,格式:Thu Feb 23 10:29:07 CST 2017
* Date(long time) 根据给定的毫秒值生成一个时间
* 成员方法:
* setTime(long date) 设置毫秒值的,给日期对象设置毫秒值
* getTime() 拿当前时间的毫秒值
*
* Date-----long 通过日期获取毫秒值
* Date d = new Date();
* d.getTime();
* long-----Date 通过毫秒值得到日期对象
* 方式一:
* long time = xxxxx
* Date d = new Date(time);
* 方式2:
* Date d = new Date();
* d.settime(time);
2、 DateFormat是一个抽象类:是一个对日期进行格式化的类,提供了对日期进行格式化,和对字符串进行解析的功能。
* 格式化是指从日期到字符串,解析是指从字符串到日期。
* public abstract class DateFormat, DateFormat是一个抽象类,子类是SimpleDateFormat
* 构造方法:
* SimpleDateFormat();
* SimpleDateFormat(String pattern);用指定的模式构造
* 成员方法:format
* String format(Date date); Formats a Date into a date/time string.
* 常用格式:
* yyy年MM月dd日HH:mm:ss
* yyyy年MM月dd日
* HH:mm:ss
* yyyy-MM-dd HH:mm:ss
其他格式参考:file:///E:/java/javainstall/docs/api/index.html
* String----Date
* 解析:把字符串参数转成date型
* parse(String source)
* 注意:字符串到日期指定的格式必须匹配。
3、Calendar:日历抽象类,也是处理时间的。
Calendar为特定瞬间与一组日历字段之间的转换提供了一些方法。(日历字段包括,YEAR, MONTH, DAY_OF_MONTH, HOUR,).并为操作日历字段(如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示。在日历字段和Calendar提供了转换功能,从Calendar获取到任意日历字段。然后按照需要的数据进行组合。即做字符串的拼接。
注意:Calendar是日历抽象类不能创建对象,那么怎么调用方法的呢?
Calendar c = Calendar.getInstance();
getInstance():使用默认时区和语言环境获得一个日历。返回的Calendar基于当前时间,使用了默认时区和默认语言环境
上面getInstance()这个方法是在Calendar内,因为getInstance()这个方法是静态方法,可以通过类名调用。
* 又因为返回值是Calendar,并且由c接收,所以c是Calendar的子类对象。
* 类似与如下的代码
* abstract class Person
* {
* public static Person getPerson()
* {
* //Person p = new Person();
* //不能这样用,因为Person是抽象的不能创建对象。
* return p;
* }
* }
* //类似于下面这种
* abstract class Person
* {
* public static Person getPerson()
* {
* Person p = new Student();
* return p;
* //返回的是子类对象,在父亲中用的是子类对象。
* }
* }
* class Student extends Person
* {
*
* }
拿到时间的函数:
int year = c.get(Calendar.YEAR);
当在调用的时候调用的其实是子类的方法,子类继承了Calendar类。
拿到月份和日期的类似。。。。。。。。。。。
面试题:获取某一年的2月有多少天?