Date表示特定的瞬间,精确到毫秒。Date类中的大部分方法都以及被Calendar类中的方法所取代了
时间单位
一秒=1000毫秒1毫秒=1000微妙1微妙=1000纳秒 代码
package com.qiu.date;
import java.util.Date;
public class Demo1 {
public static void main(String[] args) {
Date date1=new Date();
System.out.println("--------今日时间--------");
//toString()---->打印时间
System.out.println("外国时间"+date1.toString());
//toLooaleString()---->打印时间(这个方法有删除线,是因为过失了,但是还是可以使用)
System.out.println("中国时间:"+date1.toLocaleString());
System.out.println("--------昨日时间--------");
//把getTime()的值存入新的对象()在用新的对象调用打印时间的方法
Date date2=new Date(date1.getTime()-(24*60*60*1000));//24*60*60*1000=86400000;是一天的毫秒
System.out.println(date2.toLocaleString());
System.out.println("--------比较时间--------");
boolean d1=date1.after(date2);//返回结果是布尔型(date1在date2的后面)
System.out.println("date1在不在date2的后面"+d1);//after判断第一个时间是不是在第二个时间的后面
boolean d2=date2.before(date1);//date2在date1的前面
System.out.println("dete2在不在date1的前面"+d2);//before判断第一个时间是不是在第二个时间的前面
System.out.println("date1是否等于date2"+date2.equals(date1));
}
}
Calendar类控制台打印结果
--------今日时间--------
外国时间Mon Jan 31 16:25:40 CST 2022
中国时间:2022-1-31 16:25:40
--------昨日时间--------
2022-1-30 16:25:40
--------比较时间--------
date1在不在date2的后面true
dete2在不在date1的前面true
date1是否等于date2false
Calendar提供了获取或设置各种日历字段的方法
构造方法
protected Calendar() :由于修饰符时prootected,所以无法直接创建该对象 代码
package com.qiu.calendar;
import java.util.Calendar;
public class Demo1 {
public static void main(String[] args) {
Calendar calendar=Calendar.getInstance();
System.out.println("------->打印时间");
System.out.println(calendar.getTime().toLocaleString());
//get()获取年月日时分秒
//YEAR----->年
int year=calendar.get(Calendar.YEAR);
//MONTH----->月
int month=calendar.get(Calendar.MONTH);
//DAY_OF_MONTH----->日
int day=calendar.get(Calendar.DAY_OF_MONTH);
//HOUR_OF_DAY----->时
int hour=calendar.get(Calendar.HOUR_OF_DAY);
//MINUTE----->分
int minute=calendar.get(Calendar.MINUTE);
//SECOND----->秒
int second=calendar.get(Calendar.SECOND);
System.out.println("------->获取时间");
System.out.println(year+"年" +(month+1)+"月" +day+"日" +hour+"时"+minute +"分"+second+"秒");
System.out.println("------->设置时间");
Calendar calendar1=Calendar.getInstance();
calendar1.set(Calendar.YEAR,2050);
System.out.println(calendar1.getTime().toLocaleString());
System.out.println("------->添加时间");
calendar1.add(Calendar.YEAR,10);
System.out.println(calendar1.getTime().toLocaleString());
System.out.println("------->获取最大和最小");
int max=calendar1.getMaximum(Calendar.MONTH);
int min=calendar1.getMinimum(Calendar.MONTH);
System.out.println("最大月份"+max);
System.out.println("最小月份"+min);
}
}
SimpleDateFormat控制台打印结果
------->打印时间
2022-1-31 16:27:03
------->获取时间
2022年1月31日16时27分3秒
------->设置时间
2050-1-31 16:27:03
------->添加时间
2060-1-31 16:27:03
------->获取最大和最小
最大月份11
最小月份0
SimpleDateFormat时一个以与语言环境有关来格式和解析日期的具体类
进行格式化(日期–>文本)解析(文本–>日期)
代码package com.qiu.simple;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo1 {
public static void main(String[] args) throws ParseException {
//创建simpledateformat对象
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
SimpleDateFormat sdf1=new SimpleDateFormat("yyyy/MM/dd");
//创建date对象
Date date=new Date();
//用format格式化成string类型
String mat = sdf.format(date);
//打印string类型的日期
System.out.println("------->格式");
System.out.println(mat);
System.out.println("------->解析");
//同parse解析文本
Date date1=sdf1.parse("2050/12/22");
System.out.println(date1.toLocaleString());
}
}
控制台打印结果
------->格式
2022年01月31日 16:28:35
------->解析
2050-12-22 0:00:00



