Date类
Date类概述
Date类是一个日期类
通过该类可以获得时间和日期信息
Date类构造方法
Date() 获得当前的系统时间对象
Date(long time) 根据指定的毫秒值创建日期对象
Date类的成员方法
long getTime(); 获得当前时间对象的毫秒值
示例
import java.util.Date;
public class DateDemo {
public static void main(String[] args){
// 创建日期对象
Date d = new Date();
// Wed May 22 12:09:45 CST 2024
// 2024-05-22 12:09:45 ==> DateFormat
// 2024-05-22 12:09:45
System.out.println(d);
// 获得当前时间的毫秒值: 1716350985513
System.out.println(d.getTime());
// 根据毫秒值创建日期对象
Date date = new Date(19495498424928L);
// Mon Oct 15 16:13:44 CST 2587
System.out.println(date);
}
}
DateFormat类
DateFormat类概述
是一个日期格式化类,是一个抽象类,不能直接创建该类对象,只能创建子类对象。
DateFormat类常用子类
SimpleDateFormat
SimpleDateFormat类常见操作
将日期对象格式为字符串
将字符串格式化为日期对象
SimpleDateFormat类构造方法
SimpleDateFormat() 创建日期格式化对象,使用默认的日期模式
SimpleDateFormat(String pattern) 根据指定的日期模式创建日期格式化对象
SimpleDateFormat类成员方法
String format(Date d) 将日期对象转换为字符串
Date parse(String str); 将字符串转换为日期对象
void applyPattern(String pattern) 修改日期模式
?
日期模式
yyyy 年
MM 月
dd 日
HH 时 hh:12小时制 HH:24小时制
mm 分
ss 秒
日期对象格式为字符串示例
/*
日期对象转字符串的步骤
创建SimpleDateFormat日期格式化对象并指定日期模式
调用格式化对象的format方法传递日期对象获得字符串
*/
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormatDemo {
public static void main(String[] args){
// 获得当前系统日期对象
Date d = new Date();
// 创建日期格式化对象
// 2024/05/22 12:17:53
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
// 2024-05-22
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 2024年05月22日 12时17分53秒
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
// 创建日期格式化对象
SimpleDateFormat sdf = new SimpleDateFormat();
// 修改日期模式
sdf.applyPattern("yyyy-MM-dd");
// Date ==> String
// 2024/05/22 中午12:17
String dStr = sdf.format(d);
System.out.println(dStr);
// 再次修改日期模式
sdf.applyPattern("HH:mm:ss");
System.out.println(sdf.format(d));
}
}
字符串转日期对象
/**
字符串转换为日期对象的步骤
创建日期格式化对象并指定日期模式
调用日期格式化对象的parse方法传递日期对象获得字符串
?
字符串转换为日期对象注意事项
创建日期格式对象时指定的日期模式要和字符串的日期格式一致
*/
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormatDemo01 {
public static void main(String[] args) throws ParseException {
// 日期字符串
String dateStr = "2024-05-22 18:30:15";
// 创建日期格式化对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// String ==> Date
Date date = sdf.parse(dateStr);
System.out.println(date);
}
}
Calendar类
常用的方法
Calendar类概述
是一个日历类,也是一个抽象类,不能直接创建该类对象,只能创建子类对象
通过该类也可以获得时间和日期信息
如何获得日历对象
通过调用Calendar类的静态方法获得,静态方法如下
static Calendar getInstance()
Calenar类的成员方法
int get(int field); 根据指定的日历字段获得对应的值
void set(int field,int value);
修改指定日历字段的值为指定值
void add(int field,int value);
将指定日历字段的值在当前值的基础上偏移一个值,正数向后偏移,负数向前偏移
Date getTime(); 获得日期对象
long getTimeInMillis() 获得当前时间毫秒值
void set(int year,int month,int date) 修改年月日
示例
import java.util.Calendar;
public class CalendarDemo {
public static void main(String[] args){
// 获得日历对象
Calendar c = Calendar.getInstance();
// c ==> java.util.GregorianCalendar
System.out.println(c);
// 获得毫秒值
System.out.println(c.getTime().getTime());
System.out.println(c.getTimeInMillis());
// set:修改指定日历字段的值
c.set(Calendar.YEAR,2025);
c.set(Calendar.MONTH,3);
c.set(Calendar.DATE,16);
// 修改年月日
c.set(2025,2,8);
// add:将指定日历字段的值在当前值的基础上偏移一个值,正数向后偏移,负数向前偏移
c.add(Calendar.YEAR,-1);
// 获得年
System.out.println(c.get(Calendar.YEAR));
// 获得月
System.out.println(c.get(Calendar.MONTH)+1);
// 获得日
System.out.println(c.get(Calendar.DATE));
// 获得时
System.out.println(c.get(Calendar.HOUR));
// 获得分
System.out.println(c.get(Calendar.MINUTE));
// 获得秒
System.out.println(c.get(Calendar.SECOND));
}
}