Date类
默认顺序是星期、月、日、小时、分、秒、年。
1. 构造方法
Date 类有如下两个构造方法。
Date():此种形式表示分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒),使用该构造方法创建的对象可以获取本地的当前时间。
Date(long date):此种形式表示从 GMT 时间(格林尼治时间)1970 年 1 月 1 日 0 时 0 分 0 秒开始经过参数 date 指定的毫秒数。
2.代码展示
import java.util.Date;
public class DateTest01 {
public static void main(String[] args) {
//日期类型:生出日期 下单时间 付款时间 预约时间
//类 Date 表示特定的瞬间,精确到毫秒
Date date1=new Date();//获取当前的时间
System.out.println(date1);
Date date2=new Date(1000);//创建距离1970年1月1日 08:00:00 (中国东人区) 经过了多少亮秒的时间
System.out.println(date2);
}
}
SimpleDateFormat类
1.概念
是一个抽象类,构造方法接受一个字符串的参数,表示它当前的日期格式。主要用于格式化日期Date类为字符串和将日期格式的字符串转换成Date类。
格式化指的是将储存日期的类转化为字符串记录的日期的形式
2.常用方法
将日期字符串转换成Date类对象
常将日期格式字符串转换成Date类对象的方法是parse()方法
3.代码展示
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormatTest01 {
public static void main(String[] args) throws ParseException {
Date date=new Date();
//SimpleDateFormat是Format的子类,用来做日期和字符串之间的相互转换
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//实例化日期格式化,指定格式化的格式样式
//日期 格式化成字符串
String format=sdf.format(date);
System.out.println(format);
//字符串解析成日期
String time="2000-10-15 08:10:20";
Date date2=sdf.parse(time);
System.out.println(date2);
}
}
Calendar类
1.概念
它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
2.构造方法
Calendar 是一个抽象类, 无法通过直接实例化得到对象. 因此, Calendar 提供了一个方法 getInstance,来获得一个Calendar对象, 得到的 Calendar 由当前时间初始化
字段 | 描述 |
YEAR | 年 |
MONTH | 月 |
DATE | 日 |
HOUR_OF_DAY | 时 |
MINUTE | 分 |
SECOND | 秒 |
DATE_OF_MONTH | 和DATE一样 |
WEEK_OF_YEAR | 一个月第几周的第几天 |
WEEK_OF_MONTH | 一月的第几周 |
DAY_OF_YEAR | 一年的第多少天 |
WEEK_OF_YEAR | 一年的第多少周 |
3.代码展示
import java.util.Calendar;
import java.util.Date;
public class CalendarTest03 {
public static void main(String[] args) {
//CaLendar的 getInstance 方法返回一个 CaLendar 对象
Calendar calendar=Calendar.getInstance();
//获取当前时间
Date time = calendar.getTime();
System.out.println(time);
//可以获取当前时间任何你想要获得的信息
int year=calendar.get(Calendar.YEAR);//获取当前时间的年份
System.out.println("年份:"+year);
int month=calendar.get(Calendar.MONTH);
System.out.println("月份:"+month+1);
int dayofYear=calendar.get(Calendar.DAY_OF_YEAR);
System.out.println("本年第"+dayofYear);
// CaLendar 可以通过 get方法指定 字段值来获取当前时间的一些信息
System.out.println("--------------------------------- ");
//指定年月日、日分秒月份0-11表示1-12月
calendar.set(2022,11,25,23,59,60) ;
//获取指定的时间
Date date1=calendar.getTime();
System.out.println(date1);
}
}