一、Date类
Java.uitl.Date; //导包
Date类用来表示特定的时间,精确到毫秒
初始化标准基准时间:
1970 年 1 月 1 日 00:00:00 GMT
中国为东八区,要早八个小时
1970 年 1 月 1 日 08:00:00 GMT
System.out.println(System.currentTimeMillis());
//获取当前系统时间到1970经历了多少毫秒
Date常用方法
1、无参构造
2、带参构造
3、long getTime()
import java.util.Date;
public class Date02 {
public static void main(String[] args) {
method1();
method2();
method3();
}
//Date空参构造
//Date():获取当前日期和时间
public static void method1(){
Date date = new Date();
System.out.println(date);
//Sat Apr 04 12:57:50 CST 2020
//CST是中央标准时间
}
//Date带参构造,输入一个参数
//Date(long Date):获取毫秒,转换为日期和时间
public static void method2(){
Date date = new Date(111000L);
System.out.println(date);
//Thu Jan 01 08:01:51 CST 1970
}
//long getime(),把日期转换为毫秒值,相当于
//System.currentTimeMillis()
//返回自 1970 年 1 月 1 日 00:00:00 GMT
//以来此 Date 对象表示的毫秒数。
public static void method3(){
Date date = new Date();
long time = date.getTime();
System.out.println(time);//当前的毫秒数
}
}
4、DateFormat
java.text.DateFormat:是日期/时间格式化子类的 抽象类
作用:
格式化(也就是日期 -> 文本)、解析(文本-> 日期)
成员方法:
String format(Date date) 按照指定的模式,把Date日期,格式化为符合模式的字符串
Date parse(String source) 把符合模式的字符串,解析为Date日期
解析时会有一个异常 throws ParseException
java.text.SimpleDateFormat extends DateFormat
构造方法:
SimpleDateFormat(String pattern)
用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
参数:
String pattern:传递指定的模式
模式:区分大小写的
y 年
M 月
d 日
H 时
m 分
s 秒
写对应的模式,会把模式替换为对应的日期和时间
“yyyy-MM-dd HH:mm:ss”
注意:
模式中的字母不能更改,连接模式的符号可以改变
“yyyy年MM月dd日 HH时mm分ss秒”
import java.text.SimpleDateFormat;
import java.text.ParseException;//导入一个异常
import java.util.Date;
public class DateFormat00 {
public static void main(String[] args)
throws ParseException {
method1();
method2();
}
//格式化 日期——》文本
//创建一个SimpleDateFormat对象
public static void method1(){
SimpleDateFormat day = new SimpleDateFormat("yyyy年 MM月 dd日 hh时 mm分 ss秒");
//使用format
Date date = new Date();
String a = day.format(date);
System.out.println(date);
//Sat Apr 04 17:40:57 CST 2020
System.out.println(a);
//2020年 04月 04日 05时 40分 20秒
}
//解析 文本-->日期
//先要创建一个SimpleDateFormat的对象
public static void method2() throws ParseException {
SimpleDateFormat mat = = new SimpleDateFormat("yyyy年 MM月 dd日 hh时 mm分 ss秒");
//使用parse
Date date1 = mat.parse("2020年 4月 4日 17时 45分 30秒");
//注意格式一致,包括空格
System.out.println(date1);
//Sat Apr 04 17:45:30 CST 2020
}
}
格式化成文本的关键字:format
解析文本的关键字:parse
二、Calendar类
也叫做日历类
Java.util.Calendar;//导包
1、Calendar类是一个抽象类,里边提供了很多操作日历字段的方法(YEAR、MONTH、DAY_OF_MONTH、HOUR )
2、Calendar类无法直接创建对象使用,里边有一个静态方法叫getInstance(),该方法返回了Calendar类的子类对象
3、static Calendar getInstance() 使用默认时区和语言环境获得一个日历。
//在主方法中创建getInstance静态方法,并输出,会得到一个日历
Calendar calendar = Calendar.getInstance();
System.out.println(calendar);
4、Calendar常用方法
get、set、add、getTime
//get方法
public static void method1(){
Calendar calendar1 = Calendar.getInstance();
int year = calendar1.get(Calendar.YEAR);
System.out.println(year); //2020
//set方法
public static void method2(){
Calendar calendar2 = Calendar.getInstance();
//设置2019年
calendar2.set(Calendar.YEAR,2019);
int year = calendar2.get(Calendar.YEAR);
System.out.println(year);
//使用add方法
public static void method3(){
Calendar calendar3 = Calendar.getInstance();
calendar3.add(Calendar.YEAR,+2);
int year = calendar3.get(Calendar.YEAR);
System.out.println(year); //2021
//getTime
public static void method4(){
Calendar calendar4 = Calendar.getInstance();
Date date = calendar4.getTime();
System.out.println(date);
//Sat Apr 04 18:56:52 CST 2020
}