仅供个人学习,如有侵权请联系删除。
Date类的概述是util包下的,不能导入sql包的
* 类 Date 表示特定的瞬间,精确到毫秒。
构造方法
* public Date() //获得当前时间对象
* public Date(long date) //获得距离1970年1月1日00:00:00date毫秒的时间对象
成员方法
* public long getTime() //返回自1970年1月1日00:00:00GMT以来此Date对象表示的毫秒数。
* public void setTime(long time) // 设置此Date对象,以表示1970年1月1日00:00:00GMT以后time毫秒的时间点。
public static void main(String[] args) {
//demo1();
//demo2();
//demo3();
}
private static void demo3() {
Date d1 = new Date();
d1.setTime(1000); //设置毫秒值,改变时间对象
System.out.println(d1);
//Thu Jan 01 08:00:01 CST 1970
}
public static void demo2() {
Date d1 = new Date();
System.out.println(d1.getTime()); //通过时间对象获取毫秒值
System.out.println(System.currentTimeMillis());
//通过系统类的方法获取当前时间毫秒值
/*
1555417280220
1555417280221
*/
}
public static void demo1() {
Date d1 = new Date(); //如果没有传参数代表的是当前时间
System.out.println(d1);
Date d2 = new Date(0); //如果构造方法中参数传为0代表的是1970年1月1日
System.out.println(d2); //通过毫秒值创建时间对象
/*
Tue Apr 16 20:15:29 CST 2019
Thu Jan 01 08:00:00 CST 1970
*/
}
DateFormat类的概述
* DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。是抽象类,所以使用其子类SimpleDateFormat
SimpleDateFormat构造方法
* public SimpleDateFormat()
* public SimpleDateFormat(String pattern)
成员方法
* public final String format(Date date) //将一个Date格式化为日期/时间字符串。
* public Date parse(String source) //从给定字符串的开始解析文本,以生成一个日期对象,详解代码。
public static void main(String[] args) throws ParseException {
demo1();
//demo2();
//demo3();
//demo4();
}
private static void demo4() throws ParseException {
//将时间字符串转换成日期对象
String str = "2000年08月08日 08:08:08";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date d = sdf.parse(str); //将时间字符串转换成日期对象
System.out.println(d);
System.out.println(sdf.format(d));
/*
Tue Aug 08 08:08:08 CST 2000
2000年08月08日 08:08:08
*/
}
public static void demo3() {
Date d = new Date(); //获取当前时间对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
//创建日期格式化类对象
System.out.println(sdf.format(d)); //将日期对象转换为字符串
}
public static void demo2() {
Date d = new Date(); //获取当前时间对象
SimpleDateFormat sdf = new SimpleDateFormat();
//创建日期格式化类对象
System.out.println(sdf.format(d));
//19-4-16 下午8:39
}
public static void demo1() {
//DateFormat df = new DateFormat();
//DateFormat是抽象类,不允许实例化
//DateFormat df1 = new SimpleDateFormat();
DateFormat df1 = DateFormat.getDateInstance();
//相当于父类引用指向子类对象,右边的方法返回一个子类对象
Date d = new Date();
System.out.println(d.getTime());
System.out.println(df1.format(d));
/*
1555417520211
2019-4-16
*/
}
Calendar类的概述
* Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
成员方法
* public static Calendar getInstance() //获得一个日历对象
* public int get(int field) //表示的是日历字段值,如Calendar.YEAR,Calendar.MONTH等
public static void main(String[] args) {
Calendar c = Calendar.getInstance(); //父类引用指向子类对象,抽象类不能直接创建对象。
//System.out.println(c); //证明重写了toString方法打印了对象中所有的属性
System.out.println(c.get(Calendar.YEAR)); //通过字段获取对应的值
System.out.println(c.get(Calendar.MONTH));
/*
* 月份与其他不同,在格里高利历和罗马儒略历中一年中的第一个月
* 是 JANUARY,它为 0;最后一个月取决于一年中的月份数。即得到的数是0~11,代表的是1~12月份。
* */
System.out.println(c.get(Calendar.DAY_OF_MONTH));
}
成员方法
* public void add(int field,int amount)
* public final void set(int field,int value)
* public final void set(int year,int month,int date)
public static void main(String[] args) {
//demo1();
Calendar c = Calendar.getInstance(); //父类引用指向子类对象
//c.add(Calendar.MONTH, -1); //对指定的字段进行向前减或向后加
//c.set(Calendar.YEAR, 2000); //修改指定字段
c.set(2000, 7, 8);
System.out.println(c.get(Calendar.YEAR) + "年" + getNum((c.get(Calendar.MONTH)+1))
+ "月" + getNum(c.get(Calendar.DAY_OF_MONTH)) + "日" + getWeek(c.get(Calendar.DAY_OF_WEEK)));
//结果为2000年08月08日星期二
}
public static void demo1() {
Calendar c = Calendar.getInstance(); //父类引用指向子类对象
//System.out.println(c);
System.out.println(c.get(Calendar.YEAR)); //通过字段获取年
System.out.println(c.get(Calendar.MONTH)); //通过字段后期月,但是月是从0开始编号的
System.out.println(c.get(Calendar.DAY_OF_MONTH));//月中的第几天
System.out.println(c.get(Calendar.DAY_OF_WEEK));//周日是第一天,周六是最后一天
System.out.println(c.get(Calendar.YEAR) + "年" + getNum((c.get(Calendar.MONTH)+1))
+ "月" + getNum(c.get(Calendar.DAY_OF_MONTH)) + "日" + getWeek(c.get(Calendar.DAY_OF_WEEK)));
}
/*
* 将星期存储表中进行查表
* 1,返回值类型String
* 2,参数列表int week
*/
public static String getWeek(int week) {
// get得到的数中,1-7分别代表周日到周六。
String[] arr = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
return arr[week];
}
/*
* 如果是个数数字前面补0
* 1,返回值类型String类型
* 2,参数列表,int num
*/
public static String getNum(int num) {
/*if(num > 9) {
return "" + num;
}else {
return "0" + num;
}*/
return num > 9 ? "" + num : "0" + num;
}