1;先看一下一些与Date常见的类;
2;java.util.Date;
The class <code>Date</code> represents a specific instant in time, with millisecond precision
//其源码介绍;
这个Date类代表一个明确的具体的瞬间时间,用毫秒精确表示;
正如源码所说;它的对象表示一个特定的瞬间对象,精确到毫秒;
Java中时间的表示,说白了也就是数字,是从标准纪年1970.1.1.0点开始到某个时刻的毫秒数;类型是long类型;并且2的63次方足够表示了;;
注意这里是util类中的,而不是sql类的;
那个long类型的数;在源码中的存在;
关于其初始化;
方法;
Date类的核心就是那个long类型的数;
3;DateFormat类和SimpleDateFormat类;
3.1;DateFormat类;是继承与java.text类;
但是可以使用父类引用指向子类对象;
public class SimpleDateFormat extends DateFormat {//子类就是SimpleDateFormat
3.2;SimpleDateFormat类;
3.2.1;这个类的作用
因此;这个类的工作就是完成字符串和时间对象之间的转化;
——–SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化
3.2.2;构造方法;其作用;
一般使用传入字符串;意思就是日期格式;
SimpleDateFormat(String pattern)
用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
而这个字符串就是日期格式;
DateFormat df = new SimpleDateFormat(“yyyy年MM月dd日”);
父类引用指向子类对象;则只能访问父类的成员了;
3.3;最后还是回到DateFromat类;原来还是要用DateFromat类的方法;尴尬了;还以为他只是一个抽象类生成一下SimpleDateFormat类,用这个类来实现转化了,原来他只是一个产生时间格式字符串的格式。真晕死;汗。。。。最后还是要回到DateFromeat来,
常用方法;两个;format()和parse();
4;Calendar;和GreGorianCalendar
4.1;Calendar类
同样它也是abstract抽象类;但是与Dateformat类一样,只是有一个子类来实现,并且还是主要用的Calendar类中的方法;
//因为Calendar是个抽象类,当要建一个对象的时候new它的子类GregorianCalendar类
//这样来创建对象;
Calendar df = new GregorianCalendar();
/*
GregorianCalendar() 默认构造方法
在具有默认语言环境的默认时区内使用当前时间构造一个默认的 GregorianCalendar对象,
并且可以使用Calendar引用指向;调用Calendar类的成员。*/
方法;
set();方法,设置一个日历时间,好多年好多月好多日…….看起调用的set方法;其好多重载方法;
看到这个方法没,其实我们也看单独拿出来初始化;
public void set(int field, int value)//field是日历类型;YEAR代表年;
是这样设,如果没有设定的元素打不会用0代替而是用当前时间代替;
可以设置日期之后,就可以与来与Date类联系起来了;这里有两个方法;
返回日历中的元素get()方法;
还可以直接将Date对象放进去直接变成日历形式;
使用;set(new Date)是可以的;
还有一个方法,就是增加日历元素的值;指定年则可以在年的基础上加多少年;
要减少则只需将那个amount变成负值就可以;
关于时间日期的就暂时到这里的,
后面会编写一个小程序;可视化日历;就是使用上面所介绍的方法