时间日期的操作类
7.10.Calendar如何创建对象,有哪些常用方法?
Calendar类的定义
public abstract class Calendar 他是一个抽象类,它不能通过new+构造方法的方式构建对象
构造方法:
Calendar类的定义和它的protected修饰符修饰的构造方法,决定Calendar类的对象创建和特殊,不会是new+构造方法的方式
通过本类提供静态方法完成
//创建Calendar类对象
Calendar calendar=Calendar.getInstance();
日历的作用1.看日子 2.定日子
Calendar 的静态变量
package com.riqi;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Test1 {
public static void main(String[] args) {
//创建Calendar类对象
Calendar calendar=Calendar.getInstance();
//int get(int field) 返回给定日历字段的值。
//int field---给定的日历字段
//YEAR---年
System.out.println("YEAR--"+calendar.get(Calendar.YEAR));
//MONTH --月【从0开始数】
System.out.println("MONTH--"+(calendar.get(Calendar.MONTH)+1));
//DAY_OF_MONTH--月中的天
System.out.println("DAY_OF_MONTH--"+calendar.get(Calendar.DAY_OF_MONTH));
//DAY_OF_WEEK---周中的星期【从星期天开始数】
System.out.println("DAY_OF_WEEK--"+calendar.get(Calendar.DAY_OF_WEEK));
//DAY_OF_YEAR---年中的天
System.out.println("DAY_OF_YEAR--"+calendar.get(Calendar.DAY_OF_YEAR));
//WEEK_OF_YEAR--年中的周
System.out.println("WEEK_OF_YEAR--"+calendar.get(Calendar.WEEK_OF_YEAR));
//WEEK_OF_MONTH--月中的周
System.out.println("WEEK_OF_MONTH--"+calendar.get(Calendar.WEEK_OF_MONTH));
//set(int year, int month, int date, int hourOfDay, int minute, int second)
//设置字段中的值 YEAR , MONTH , DAY_OF_MONTH , HOUR_OF_DAY , MINUTE和 SECOND 。
calendar.set(2020, 8, 20, 18, 30,30);
Date date =calendar.getTime();
System.out.println(date);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss E");
String newdate=sdf.format(date);
System.out.println(newdate);
}
}
7.11.Date类如何创建对象,有哪些常用方法?
Date类的定义—public class Date
Date表示特定的时间。
构造方法:
Date() 创建一个 Date对象,保存了当前系统时间。【格式不符合我们的认识】 Date(long date) 创建一个 Date对象,保存的是从标准基准时间即1970年1月1日00:00:00 GMT到当下所经过的毫秒数的当下时间。 date - 1970年1月1日00:00:00 GMT以来的毫秒数。 实例方法 boolean after(Date when)测试此日期是否在指定日期之后。 boolean before(Date when) 测试此日期是否在指定日期之前。 boolean equals(Object obj) 比较两个日期来平等。【Date重写过】 long getTime() 返回自1970年1月1日以来,由此 Date对象表示的00:00:00 GMT的毫秒 数 。 void setTime(long time) 设置此 Date对象以表示1970年1月1日00:00:00 GMT后的 time毫秒的时间点。 String toString() 将此 Date对象转换为 String的形式 |
package com.riqi;
import java.util.Date;
public class Test2 {
public static void main(String[] args) {
//Date()创建一个Date对象,保存了当前系统时间
Date date1= new Date();
System.out.println(date1); //Fri Aug 21 09:20:33 CST 2020
//Date(long date) 创建一个 Date对象,保存的是从标准基准时间即1970年1月1日00:00:00 GMT到当下所经过的毫秒数的当下时间。
//参数date - 1970年1月1日00:00:00 GMT以来的毫秒数。
Date date2= new Date(5000);
System.out.println(date2); //Thu Jan 01 08:00:05 CST 1970
//通过Date(long date)得到当前系统时间?
//1.得到1970年1月1日00:00:00 GMT以来的毫秒数
long haomiao = System.currentTimeMillis();
System.out.println(haomiao); //1597972914178
Date date3= new Date(haomiao);
System.out.println(date3); //Fri Aug 21 09:22:25 CST 2020
/*
boolean after(Date when)测试此日期是否在指定日期之后。
boolean before(Date when) 测试此日期是否在指定日期之前。
*/
boolean flag1 = date1.after(date2);
System.out.println(flag1); //true
boolean flag2=date1.after(date2);
System.out.println(flag2); //true
//long getTime() 返回自1970年1月1日以来,由此 Date对象表示的00:00:00 GMT的毫秒 数 。
long hm=date1.getTime();
System.out.println(hm); //1597973316840
//void setTime(long time) 设置此 Date对象以表示1970年1月1日00:00:00 GMT后的 time毫秒的时间点。
date1.setTime(8000);
System.out.println(date1); //Thu Jan 01 08:00:08 CST 1970
//String toString() 将此 Date对象转换为 String的形式
String strdate=date1.toString();
System.out.println(strdate); //Thu Jan 01 08:00:08 CST 1970
}
}
7.12.SimpleDateFormat类如何创建对象,有哪些常用方法?
java.text.SimpleDateFormat —格式化和解析日期
SimpleDateFormat() 使用默认的时间日期格式
SimpleDateFormat(String pattern) 使用给定的时间日期格式
参数–String pattern【描述日期和时间格式的模式】
时间格式的模式
y—年【yyyy/1998,yy/98】
M–月【MM/08】
d—日【dd/23】
H—时【HH/12】
m–分【mm/23】
s—秒 【ss/56】
S–毫秒【sss/768】
E–星期【E/星期三】
“yyyy年MM月dd日 HH:mm:ss E”
“yyyy/MM/dd HH:mm:ss E”
“yyyy-MM-dd HH:mm:ss E”
“yyyy/MM/dd E HH:mm”
String format(Date date) 格式化一个时间日期来生成一个字符串。
Date parse(String source) 从给定字符串的开始解析文本以生成日期。
package com.test1;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatDemo1 {
public static void main(String[] args)throws Exception{
/*将时间转换成指定格式的字符串形式
//得到当前系统时间
Date date1=new Date();
System.out.println(date1);
//创建一个固定的格式
String geshi="yyyy/MM/dd E HH:mm";
//创建一个时间日期格式化对象
SimpleDateFormat sdf=new SimpleDateFormat(geshi);
//开始格式化时间日期
String stringdate=sdf.format(date1);
System.out.println(stringdate);
*/
//指定格式的字符串形式的时间日期转换成java.util.Date对象
String strytime="2020/08/20 星期四 15:33";
//创建一个固定的格式
String geshi="yyyy/MM/dd E HH:mm";
//创建一个时间日期格式化对象
SimpleDateFormat sdf=new SimpleDateFormat(geshi);
//解析时间日期字符串成Date
Date date2=sdf.parse(strytime);
System.out.println(date2);
}
}