一、Date及常用的API
1、Java中的时间:
Java中也设计了时间类来显示时间和日期等信息,用的时UTC时间标准(GMT【格林威治标准时间】也是一个时间标准)
2、Date类型简介:
a、java.util.Date中封装了时间信息
b、Date类型获取的时间时距离某一时间点(纪元1970-01-01 00:00:00)的毫秒数,来表示另一个时间点
3、常用API
构造器:
Date() :获取当前时间点
Date(long time) :time毫秒数,是一个指定的日期,距离纪元时间多少毫秒之后的日期
代码:
public static void main(String[] args) {
Date now = new Date();//无参构造器,显示当前时间日期
System.out.println("当前日期:"+now);
System.out.println("毫秒数:"+now.getTime());//纪元时间距离现在的毫秒数
Date date = new Date(100000000000l);//有参构造器,距离纪元时间1000亿毫秒之后的日期
System.out.println("date:"+date);
}
方法:
long getTime()
作用:获取距离纪元的毫米毫秒数
二、SimpleDateFormat【日期格式】
1、在java.text.SimpleDateFormat 包下,用来格式化时间的,可以将时间格式化成字符串,也可将字符串解析成时间
2、日期模式匹配字符
y:年(有几个y表示几位数的年)
M:月(MM--06)
d:日(dd--06)
E:星期
a:上下午
H:24小时制
h:12小时制
m:分钟
s:秒
3、SimpleDateFormat()方法
SimpleDateFormat()无参构造器,使用的时系统默认的时间日期格式。
SimpleDateFormat(String str)有参构造器,可以根据需要自定义时间日期格式。
代码:
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat sdf1 = new SimpleDateFormat();//无参构造器,显示系统默认时间日期格式
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd E ahh:mm:ss");//有参构造器,自定义时间日期格式
System.out.println(sdf1.format(date));
System.out.println(sdf2.format(date));
}
三、Calender(日历抽象类)
抽象类,(常用的子类是阳历,即GregorianCalendar)
常用方法:
Calendar getInstance() 由于Calendar是抽象方法,只能通过向上转型的方法来实例化
void set(int field,int value) //field时间分量,value设置分量初始值(月份从0开始)
void add(int field,int value) //field时间分量,value设置分量的增加值(在当前时间日期基础上进行增加)
Date getTime() //输出时间日期
void setTime(Date date) //将日期类型设置成日历类型
getActualMaximum(int field) //获取分量中的最大/小值
时间分量
YEAR,MONTH,DATE,HOUR,MINUTE,SECOND
DAY_OF_WEEK,DAY_OF_MONTH 。。。。
代码:
public static void main(String[] args) {
Date date = new Date();
Calendar set = Calendar.getInstance();
Calendar add = Calendar.getInstance();
Calendar calendar = Calendar.getInstance();
set.set(Calendar.MONTH, 0);//初始月份为1月
add.add(Calendar.YEAR, 1);//第二个参数是距离现在的日期是多少天/月/年,向后加了1年
calendar.setTime(date);//date日期类型转换为Calendar类型
System.out.println("set:"+set.getTime());//输出时间
System.out.println("add:"+add.getTime());//输出时间
System.out.println("date:"+date);
}